Code Monkey home page Code Monkey logo

tiny-kafka's Introduction

TinyKafka

Build Status

TinyKafka is a tiny implementation of Apache Kafka, targeting your test environments. Powered by KafkaJS.

If it looks like Kafka and quacks like a Kafka, then it probably is Kafka

Still in development

When writing tests for your consumers and producers, the primary concern is to exercise your code. You expect Kafka to fulfill its promises, so your tests are not interested in what is happening on the server side. The solution usually falls into three categories: Mocks, running Kafka on your local machine or containerized. These solutions work great but often introduce flakiness or slow down your tests.

Will TinyKafka work with client X?

Yes. Very likely. TinyKafka speaks the same protocol of Apache Kafka, but libraries usually have different expectations, for example, the ruby-kafka library doesn't use the API versions request to detect what's supported by the server, it assumes that the server is compatible to Kafka 0.11. TinyKafka works with ruby-kafka but it might not implement all versions available, thus not fulfilling all requirements of all libraries.

It doesn't work with my Java client version X

The Java clients have different expectations of which versions the server supports. It uses the API versions request to detect what's supported, but newer versions might assume that you are running latest versions of Kafka. This might not be an issue in the future as KafkaJS and TinyKafka will evolve to support more versions.

This project is in node.js, but I use language/technology X?

The goal of this project is to provide an easy to use test server for Kafka. Node.js will have the benefit of having this project as a development dependency, but TinyKafka will publish a tiny binary to facilitate the integration with any technology. Soon more examples on how to use it with your favorite technology.

tiny-kafka's People

Contributors

tulios avatar

Stargazers

Yevhenii Hyzyla avatar Mark Beznos avatar Deen John avatar Hossein Mayboudi avatar Apurav Chauhan avatar Giles avatar Case Taintor avatar Guy avatar Paulo Ragonha avatar

Watchers

James Cloos avatar Andreas Kohn avatar  avatar

Forkers

apuravchauhan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.