ZeroMQ / 0mq或nanomsg绑定到Kafka?

时间:2014-07-23 00:05:42

标签: zeromq apache-kafka nanomsg

在关于微服务体系结构的Fred Georges talk中,他提到使用Kafka作为高速总线(他称为急流)并将多个0mq实例(称为河流)连接到它。可以看到幻灯片here

任何人都可以分享如何最好地实施此绑定吗?

同时也希望了解如何使用nanomsg代替0mq来实现这一目标。

2 个答案:

答案 0 :(得分:1)

绑定实现选项:

  1. KAFKA EventBus (0.8.x +)

    随时可以绑定到:

    • 的Python
    • Go(AKA golang)
    • C
    • C ++
    • 达网络
    • Clojure的
    • 红宝石
    • Node.js的
    • 风暴
    • Scala DSL
    • HTTP REST
    • 的JRuby
    • 的Perl
    • 标准输入/输出
  2. ZeroMQ 具有类似的广泛绑定已经可用于其中许多

  3. nanomsg在2016年6月达到了生产质量(版本1.0.0)并且具有令人印象深刻的绑定数量:

    • C ++
    • Clojure的
    • d
    • 迪伦
    • 二郎
    • 的Fortran
    • 开始
    • 芒果
    • 的Haskell
    • HAXE
    • 的iOS
    • 爪哇
    • JavaScript(Node.js)
    • 的Lua
    • .NET
    • ocaml的
    • 的Perl
    • PHP
    • PicoLisp
    • 的Python
    • - [R
    • 红宝石
    • Scheme(CHICKEN)
    • Smalltalk中
  4. Fred George的Anything Publishing Everything ( just in sake somebody somewhere in the future may (or may not) find something of it useful ) Architecture愿景:

    听起来既有希望又非常苛刻。因此,一旦选择相对较早,更稳定的ZeroMQ版本,具有最低延迟/最小开销,并且经过验证的无错误人员*多年的生产等级操作,就能做出最佳状态。

答案 1 :(得分:0)

2016年6月,nanomsg达到了生产质量(1.0.0),许多开发人员认为它是ZeroMQ的可行替代品。

“ZeroMQ常见的抱怨是它没有为新的传输协议提供API, 这实际上限制了您对TCP,PGM,IPC和ITC的限制。 Nanomsg通过为传输和消息传递协议提供可插入接口来解决这个问题。“

详细信息可在A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice)中找到。

编写自定义协议可以是achieved relatively easily。 请参阅nanomsg TCP Mapping for Scalability Protocols

对于许多语言都有很多绑定,所有新项目都应该认真考虑nanomsg协议。