V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
annoygaga
V2EX  ›  程序员

RabbitMQ (AMQP) 与 Apache Kafka 的协议,实现起来哪个更复杂?

  •  1
     
  •   annoygaga · 45 天前 · 1579 次点击
    这是一个创建于 45 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题主这边有需求考虑将内部研发的消息队列对外提供服务(可能开源?),目前在考虑是实现 rabbitmq 还是 kafka 协议,这样能更快接入已有的生态,题主两个都有用过,看上去是 kafka 更容易,但 kafka 版本多,client 混杂,怕有坑

    核心诉求是

    • 协议扩展性:可能需要做一些内部定制化的功能扩展

    • 易于维护

    • 易于开发:其中协议不一定需要完整实现,核心的部分实现也是可以的,目前看到 aws/aliyun 给的 kafka 貌似也不是全部功能

    • 接入已有生态简单:这里 kafka 怕有坑,主要是看上去协议多次更改,rabbitmq 的话,应该就是 AMQP 0-9-1

    13 条回复    2024-07-25 14:39:25 +08:00
    GooMS
        1
    GooMS  
       45 天前 via Android
    更青睐 amqp
    annoygaga
        2
    annoygaga  
    OP
       45 天前
    @GooMS amqp 看上去功能更复杂?
    GooMS
        3
    GooMS  
       45 天前 via Android
    @annoygaga 对,只是更熟悉,刚才没怎么审题。
    annoygaga
        4
    annoygaga  
    OP
       45 天前
    @GooMS 实现来说呢?
    annoygaga
        5
    annoygaga  
    OP
       45 天前
    不知道过来人有没有什么建议
    Scarb
        6
    Scarb  
       44 天前
    我实现过 AMQP 协议。AMQP 协议更复杂,功能和细节非常多,有些不常用但是可能对有的用户来说又是刚需(比如优先级队列之类)。kafka 不那么复杂
    MoYi123
        7
    MoYi123  
       44 天前
    如果不懂 erlang 的话, AMQP 不太好抄作业吧, 如果从协议文档开始实现, 估计会要更长的时间.
    annoygaga
        8
    annoygaga  
    OP
       44 天前
    @Scarb kafka 协议变化多吗?会不会有坑?
    annoygaga
        9
    annoygaga  
    OP
       44 天前
    @MoYi123 那 kafka 协议呢?主要怕更改太多有坑
    Scarb
        10
    Scarb  
       44 天前
    @annoygaga kafka 我没实现过。你说的变化只是 3 种消息格式吧,v0 v1 v2 ,这个应该还好。别的就没什么变化了
    annoygaga
        11
    annoygaga  
    OP
       44 天前
    @Scarb 只有这个嘛?我也是听朋友吐槽过而已
    Scarb
        12
    Scarb  
       44 天前
    @annoygaga 那你应该去问你朋友啊
    annoygaga
        13
    annoygaga  
    OP
       44 天前
    @Scarb 其实是隔壁组的同事,但已经离职了,所以才来这里问
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:04 · PVG 08:04 · LAX 17:04 · JFK 20:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.