mq 选型

2021-03-27 11:04:28 +08:00
 fxjson
主流 mq 是不是也就 rabbit 和 kafka 了,不过感觉 kafka 貌似集群场景多一点,单机不多吧,rabbit 是 Erlang 开发的,电脑又要安装 Erlang; beanstalk 轻量级队列,挺好用的,但是招聘网站几乎没有企业提到. 唉,对我这种爱给自己设定边界的人来说,真心累……
8715 次点击
所在节点    程序员
63 条回复
privapps
2021-03-27 13:17:03 +08:00
墙内 不流行 用 docker 吗?
leeg810312
2021-03-27 13:55:31 +08:00
性能优先选 Kafka,有事务需求选 rabbitmq 。除非用 Spring Alibaba 那一套,否则不会考虑 rocketmq,http 协议才有多语言 sdk,生态差太多了
S2Line
2021-03-27 14:14:33 +08:00
Kafka+Redis 即可
liveej
2021-03-27 15:07:06 +08:00
nats 如何?很轻量,可以集群。配合 go 做了物联网消息的分发处理决定挺好用
knowckx
2021-03-27 15:18:04 +08:00
redis stream+1
只要不是高负载大流量,redis 多香,可以减少一个架构中的组件
linnana
2021-03-27 15:22:15 +08:00
看完评论我觉得不少人对 RocketMQ 有很多误解。

选型的时候不要过度高估自己对陌生技术的理解不了解 Erlang 是学不到 rabbit 的精髓的,学习 MQ 不要只学搭个环境调个接口,对不同架构意图和 MQ 的公共实现原理做深入了解才是关键。

如果你读过 Kafaka 和 RocketMQ 的源码,就明白 RocketMQ 某种程度上就是 Kafka 的子实现,只是两者的技术实现手段不同,甚至我个人认为如果只是从消息队列来看 RocketMQ 的实现是要优于 Kafka 的。
fxjson
2021-03-27 15:27:12 +08:00
@knowckx 同意你说的,如果运维人员有限,多个组件就是一个维护负担
fox0001
2021-03-27 15:54:54 +08:00
最近也在考虑 MQ,本来选 RabbitMQ,但是老项目用 Spring3,不能直接用 Spring AMQP 。可能会考虑 Apache ActiveMQ Artemis 。迷惘 ing…
falcon05
2021-03-27 16:18:19 +08:00
beanstalk 我也觉得挺好用的,好奇为什么国内没什么公司用
leafre
2021-03-27 16:58:59 +08:00
rocketmq 用的比较多
xuanbg
2021-03-27 17:09:46 +08:00
事务型:Rabbit
流量型:Kafaka
wangyanrui
2021-03-27 17:32:57 +08:00
楼上加 1,另外如果小项目直接 redis 也可以,尽量能少一个依赖项就少一个
ilylx2008
2021-03-27 18:11:39 +08:00
@knowckx @fxjson @wangyanrui
面向 offer 开发,能多用一个组件都比少用强,哈哈。
jimmyismagic
2021-03-27 18:19:22 +08:00
以前用 rabbit,现在用 kafka,不过经常有人喷 kafka 就只是做日志的
mywaiting
2021-03-27 18:58:06 +08:00
我说用 postgres 做的队列会被喷死么?
maemual
2021-03-27 19:04:52 +08:00
@falcon05 #29 知乎有在用,用了好多年了。但是大流量下,性能实在是不行。为了给老项目减少迁移成本,搞了一个 beanstalk on puslar,降低迁移成本,提升性能。
janxin
2021-03-27 19:18:05 +08:00
需求都没有我直接推荐 https://en.wikipedia.org/wiki/Message_queue
NUT
2021-03-27 19:29:45 +08:00
我们在用 RMQ 商业版,感觉没啥大问题。
我读过 RMQ 的源码,感觉代码挺不错的。其实大吞吐就是硬盘的 mmap 玩法。其实都差不多。
我们是 java 团队,用了挺久的 RMQ.
TypeError
2021-03-27 19:50:11 +08:00
只用主流和支持多语言的

低吞吐,部署简单的,用 rabbitmq,装个 erlang 而已,有什么麻烦的

大流量大吞吐的,用 kafka
fxjson
2021-03-27 19:53:08 +08:00
@NUT rmq 是 rabbit 还是 rocket

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX