请问 Spring cloud Stream 和 Spring Amqp 之间的关系 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jinzhongyuan
V2EX    Java

请问 Spring cloud Stream 和 Spring Amqp 之间的关系

  •  
  •   jinzhongyuan 2020-06-20 15:15:45 +08:00 3465 次点击
    这是一个创建于 1946 天前的主题,其中的信息可能已经有所发展或是发生改变。

    周末打扰大家一下,目前在学习 Spring Amqp ,小弟知道 Amqp 与 RabbitMq 之间的关系,但是无意间发现了 Spring

    Cloud Stream ,我裂开了,明明有 Spring AMQP 这层抽象了,么又整了一个 Spring Cloud Stream ?

    求明白的大佬指导一波

    12 条回复    2020-06-20 17:39:32 +08:00
    hantsy
        1
    hantsy  
       2020-06-20 15:38:58 +08:00
    Cloud Stream 更抽象些。

    抽象 Stream 处理中的 Source,Sink,和 EventListener,Kafka 和 AMQP 都是使用上统一了。

    更底层的特别的 API 使用上还是要关注 Spring AMQP 和 Spring for Kafka 。
    hantsy
        2
    hantsy  
       2020-06-20 15:41:43 +08:00
    说到 Source,Sink 。

    Spring 另外一个大杀器,Spring Cloud Data Flow, 可以连接各种 Source,Sink,中间处理可以用 Spring Cloud Function ( Serverless ),自己的 Serverless 程序可以安装到 SCDF 中,像命令一样重复使用。
    jinzhongyuan
        3
    jinzhongyuan  
    OP
       2020-06-20 15:49:34 +08:00
    @hantsy 从循序渐进上来讲,还是先学习 Spring Amqp 比较好吧?
    huntcool001
        4
    huntcool001  
       2020-06-20 16:07:16 +08:00
    Amqp 现在就 RabbitMq 实现了... 这个协议学了有啥意义. RocketMQ, Kafka 都没实现.
    xuanbg
        5
    xuanbg  
       2020-06-20 16:08:16 +08:00
    RabbitMq 是基于 Amqp 标准的实现,Spring Amqp 可以连接任何支持 Amqp 标准的 MQ 。Cloud Stream 则是对 Spring Amqp 等又封装了一层,可以连接更多种类的 MQ 。

    不过我并不觉得 Cloud Stream 是个正确的方向,反正我没有在同一个项目里面使用多种 MQ 的需求。 程序员连自己该使用什么组件都没点 B 数的话,还算是合格的程序员么?
    jinzhongyuan
        6
    jinzhongyuan  
    OP
       2020-06-20 16:11:24 +08:00
    @huntcool001 我的意思就是 rabbitmq
    jinzhongyuan
        7
    jinzhongyuan  
    OP
       2020-06-20 16:12:18 +08:00
    @xuanbg 有道理,封装多了,反而增加负担啊
    wdmx007
        8
    wdmx007  
       2020-06-20 16:19:25 +08:00 via Android
    @hantsy 不觉得 data flow 超级逗比吗?[狗头]
    hantsy
        9
    hantsy  
       2020-06-20 16:19:45 +08:00
    @xuanbg 从微调 MQ 的角度,我还首选 Spring AMQP 。

    Cloud Stream 更多的解决互通问题,隐藏 MQ 的细节配置,猛看各种 MQ 用法差不多。
    hantsy
        10
    hantsy  
       2020-06-20 16:21:11 +08:00
    @wdmx007 AWS Lambda 逗比吗?实际上一样的设计思路,只是 SCDF 影响力远不如 AWS Lambda 平台。
    hantsy
        11
    hantsy  
       2020-06-20 16:36:22 +08:00
    @huntcool001 实现 AMQP 协议的 Message Broker 很多吧,Apache ActiveMQ,Redhat AMQ 好像也实现。

    https://www.amqp.org/about/examples

    RabbitMQ 还支持 MQTT 协议( Iot 处理协议,前几年的 Spring 大会演示过出租跟踪程序),还支持 STOMP 扩展,与 Websokcet 结合(消息走 RabbitMQ,减轻应用服务器压力)。这些在 Spring AMQP (与 RabbitMQ 一起使用时) 都支持很好。如果只关注消息, 在 Spring 中使用 Spring AMQP 和 RabbitMQ 基本是不二之选,太成熟了。

    Kafka 在 Spring 中 Spring For Kafka 项目支持,除了做 Message Broker 外,Kafka 一个重要的角度是 Stream processing 。

    RecketMQ 不作评价,我没用过。《《生态圈子》》》远不如上面两个,目前感觉还只是博眼球阶段。
    qwerthhusn
        12
    qwerthhusn  
       2020-06-20 17:39:32 +08:00
    还有一个 Spring Cloud Bus,我一直弄不清楚与 Spring Cloud Stream 和 Spring Data AMQP 之间的关系
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2622 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 03:24 PVG 11:24 LAX 20:24 JFK 23:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86