7

In Fred Georges talk about microservice architectures, he mentions using Kafka as a high speed bus (he refers to as the rapids) and connecting multiple 0mq instances (referred to as rivers) to it. A slide of this can be seen here.

Can anyone share how this binding might be best implemented?

Also keen to hear how this might be implemented using nanomsg instead of 0mq.

sg7
  • 6,108
  • 2
  • 32
  • 40
user1074891
  • 279
  • 3
  • 14

2 Answers2

0

Binding implementation options:

  1. KAFKA EventBus ( 0.8.x+ )

    has readily available bindings to :

    • Python
    • Go (AKA golang)
    • C
    • C++
    • .net
    • Clojure
    • Ruby
    • Node.js
    • Storm
    • Scala DSL
    • HTTP REST
    • JRuby
    • Perl
    • stdin/stdout
  2. ZeroMQ has similarly wide bindings already available for many of these

  3. nanomsg reached production quality (ver. 1.0.0) in June 2016 and has impressive number of bindings:

    • C++
    • Clojure
    • D
    • Dylan
    • Erlang
    • Fortran
    • Go
    • mangos
    • Haskell
    • Haxe
    • iOS
    • Java
    • JavaScript (Node.js)
    • Lua
    • .NET
    • Ocaml
    • Perl
    • PHP
    • PicoLisp
    • Python
    • R
    • Ruby
    • Rust
    • Scheme (CHICKEN)
    • Smalltalk

Fred George's Anything Publishing Everything ( just in sake somebody somewhere in the future may (or may not) find something of it useful ) Architecture vision:

sounds to be both somehow promising and also very demanding. Thus one would make her/his best once selecting rather a bit earlier, more stable, ZeroMQ version, with lowest latency / minimum overheads and a proved bug-free man*years of production grade operations.

user3666197
  • 1
  • 6
  • 50
  • 92
0

In June 2016, nanomsg reached a production quality (1.0.0) and many developers consider it as viable alternative to the ZeroMQ.

"A common gripe people have with ZeroMQ is that it doesn’t provide an API for new transport protocols, which essentially limits you to TCP, PGM, IPC, and ITC. Nanomsg addresses this problem by providing a pluggable interface for transports and messaging protocols."

The details can be found in A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice).

Writing custom protocols can be achieved relatively easily. See the nanomsg TCP Mapping for Scalability Protocols.

With plenty bindings to many languages the nanomsg protocol should be seriously considered for all new projects.

sg7
  • 6,108
  • 2
  • 32
  • 40