大家都是怎么用 rocketmq 的?

2021-01-23 12:43:35 +08:00
 jerry1zeng

如题,因为用 rocketmq 的大多是 java,所以我就以 maven 的 artifactId 来列举

rocketmq-client rocketmq-spring-boot-starter spring-cloud-starter-stream-rocketmq 公司自研框架 楼主在公司目前使用的第二种方式,但是在使用过程中碰到一个小问题,就是在本地测试的时候,消息总会被其他启动了同一个服务的同事给消费了。我想本地 debug 就很麻烦。不知道各位会不会有同样的困扰😶

也有想过办法去解决,魔改 rocketmq-spring-boot-starter 在消费者注入之前把 topic 加强一下,但是看了源码发现没啥可扩展性,魔改有点困难。其次的话使用 spring-cloud-starter-stream-rocketmq,因为 topic 都是配置的,就可以在配置的时候加上前缀后者后缀,但是这个使用起来也很麻烦,因为每一个 topic 都要写配置,要是有一百个 topic 的话。。。或者甚至更多🤷‍♀️

3506 次点击
所在节点    程序员
19 条回复
IDAEngine
2021-01-23 13:11:52 +08:00
上百万 topic 毫无压力
oneisall8955
2021-01-23 13:24:33 +08:00
我用的其他 mq,也有这个问题,dev 环境被其他主机消费,所以,联系同事别动,让我调完先🙊
jerry1zeng
2021-01-23 13:29:26 +08:00
@oneisall8955 这样测试太影响效率了
jerry1zeng
2021-01-23 13:30:35 +08:00
@IDAEngine 这样的级别肯定是用公司自研的框架吧
deargodfrey
2021-01-23 13:57:07 +08:00
用 Kafka 和 Rabbit 多点
limuyan44
2021-01-23 14:59:57 +08:00
spring 的 config 不是可以拦截的吗,你读 topic 配置的时候加上自己的前缀。。
jerry1zeng
2021-01-23 15:15:04 +08:00
@limuyan44 topic 在注解 @RocketMQMessageListener#topic,注解的值我没看到能修改的方法。。。
zzh7982
2021-01-23 15:18:14 +08:00
再部署一个 mq
jerry1zeng
2021-01-23 15:26:08 +08:00
@zzh7982 我自己测试的话,会连我本地启的 MQ 。。。。
676529483
2021-01-23 15:27:55 +08:00
可以参考我司的做法,在不同环境里,加不同的 Tag,消费时,只消费指定 Tag 的信息
jerry1zeng
2021-01-23 15:39:42 +08:00
@676529483 这个方案可以考虑一下,那我有一个问题,贵司不同环境通用一个 Rocket 吗?
jr981008
2021-01-23 15:41:48 +08:00
这种中间件没有 acl 控制?
jerry1zeng
2021-01-23 15:47:40 +08:00
@jr981008 小公司 没那研发力度。。。能完成需求就不错了😂
zzh7982
2021-01-23 15:55:54 +08:00
@jerry1zeng 你同事也消费你本地的 MQ ?。。。
jerry1zeng
2021-01-23 16:00:36 +08:00
@zzh7982 我自己启动肯定就我自己一个人用了 😂
Lighfer
2021-01-23 16:31:58 +08:00
支持 springEL 的啊,开发测试环境运行命令加上一个指定的系统参数,收发消息的代码加上就行了
amwyyyy
2021-01-23 17:04:07 +08:00
如果是自己发的消息,那就和同事用不同 tag 。如果是外部应用发的消息,那就用不同的消费组。
guodong110
2021-01-24 20:38:55 +08:00
线下环境改下配置的 group 不就好了,不就避免被同事消费了
676529483
2021-01-25 09:51:16 +08:00
@jerry1zeng 不是,分实例的,开发和测试不在一个环境

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

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

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

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

© 2021 V2EX