如题,因为用 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 的话。。。或者甚至更多🤷♀️
1
IDAEngine 2021 年 1 月 23 日
上百万 topic 毫无压力
|
2
itechify PRO 我用的其他 mq,也有这个问题,dev 环境被其他主机消费,所以,联系同事别动,让我调完先🙊
|
3
spike01 OP @oneisall8955 这样测试太影响效率了
|
5
deargodfrey 2021 年 1 月 23 日
用 Kafka 和 Rabbit 多点
|
6
limuyan44 2021 年 1 月 23 日 via Android
spring 的 config 不是可以拦截的吗,你读 topic 配置的时候加上自己的前缀。。
|
7
spike01 OP @limuyan44 topic 在注解 @RocketMQMessageListener#topic,注解的值我没看到能修改的方法。。。
|
8
zzh7982 2021 年 1 月 23 日
再部署一个 mq
|
10
676529483 2021 年 1 月 23 日 可以参考我司的做法,在不同环境里,加不同的 Tag,消费时,只消费指定 Tag 的信息
|
12
jr981008 2021 年 1 月 23 日
这种中间件没有 acl 控制?
|
14
zzh7982 2021 年 1 月 23 日
@jerry1zeng 你同事也消费你本地的 MQ ?。。。
|
16
Lighfer 2021 年 1 月 23 日
支持 springEL 的啊,开发测试环境运行命令加上一个指定的系统参数,收发消息的代码加上就行了
|
17
amwyyyy 2021 年 1 月 23 日 via iPhone
如果是自己发的消息,那就和同事用不同 tag 。如果是外部应用发的消息,那就用不同的消费组。
|
18
guodong110 2021 年 1 月 24 日
线下环境改下配置的 group 不就好了,不就避免被同事消费了
|
19
676529483 2021 年 1 月 25 日
@jerry1zeng 不是,分实例的,开发和测试不在一个环境
|