Giter Site home page Giter Site logo

eevee's Introduction

Eevee

What?

Eevee is a bridge between anything you want like Kafka and MQTT. This great if you want you IOT devices to also be connected to your firehose of application logs and communication. This is especially awesome now that your IOT sensors can directly interact with your applications. This is currently being used in my web-based garage door opener

How does it work?

The payload is pass from one service (Kafka, MQTT, etc) to another. Eevee does not care what format your message is in. Because Eevee is subscribing and publishing to the same topics, it needs the MessageID to identify whether or not the message has been seen. Therefore, you need to implement the Translator so the MessageID can be pull out from your message. The Translator also serves an important purpose which is to convert the payload from one service to another. It is suggested that the payload are the same between serves to reduce complexity.

Running Eevee

A simple example has been written under the examples directory. To use, Kafka and MQTT implements for Connection is given. You will need to write your own Translator base on the payload you are transferring and a IDStore. The MessageID is an interface{} is up to you to keep track of its type throughout your implementation. Note that the MessageID implementation should be shared between the Translator and the IDStore

Todo

  • Tests plz
  • Error channel?
  • Unidirectional bridge?
  • A better key store?
  • Worker?
  • New source/sink?

Notes

  • The simple example is extremely naive. It cannot be used in a distributed or a multi-threaded fashion
  • This is called Eevee because I needed a cool name for now and Eevee can evolve into different Pokemon. And its pretty cute.

eevee's People

Contributors

edfungus avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

true-dev

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.