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