V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jerry1zeng
V2EX  ›  程序员

大家都是怎么用 rocketmq 的?

  •  
  •   jerry1zeng · 2021-01-23 12:43:35 +08:00 · 3263 次点击
    这是一个创建于 1182 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,因为用 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 的话。。。或者甚至更多🤷‍♀️

    19 条回复    2021-01-25 09:51:16 +08:00
    IDAEngine
        1
    IDAEngine  
       2021-01-23 13:11:52 +08:00
    上百万 topic 毫无压力
    oneisall8955
        2
    oneisall8955  
       2021-01-23 13:24:33 +08:00 via Android
    我用的其他 mq,也有这个问题,dev 环境被其他主机消费,所以,联系同事别动,让我调完先🙊
    jerry1zeng
        3
    jerry1zeng  
    OP
       2021-01-23 13:29:26 +08:00
    @oneisall8955 这样测试太影响效率了
    jerry1zeng
        4
    jerry1zeng  
    OP
       2021-01-23 13:30:35 +08:00
    @IDAEngine 这样的级别肯定是用公司自研的框架吧
    deargodfrey
        5
    deargodfrey  
       2021-01-23 13:57:07 +08:00
    用 Kafka 和 Rabbit 多点
    limuyan44
        6
    limuyan44  
       2021-01-23 14:59:57 +08:00 via Android
    spring 的 config 不是可以拦截的吗,你读 topic 配置的时候加上自己的前缀。。
    jerry1zeng
        7
    jerry1zeng  
    OP
       2021-01-23 15:15:04 +08:00
    @limuyan44 topic 在注解 @RocketMQMessageListener#topic,注解的值我没看到能修改的方法。。。
    zzh7982
        8
    zzh7982  
       2021-01-23 15:18:14 +08:00
    再部署一个 mq
    jerry1zeng
        9
    jerry1zeng  
    OP
       2021-01-23 15:26:08 +08:00
    @zzh7982 我自己测试的话,会连我本地启的 MQ 。。。。
    676529483
        10
    676529483  
       2021-01-23 15:27:55 +08:00   ❤️ 2
    可以参考我司的做法,在不同环境里,加不同的 Tag,消费时,只消费指定 Tag 的信息
    jerry1zeng
        11
    jerry1zeng  
    OP
       2021-01-23 15:39:42 +08:00
    @676529483 这个方案可以考虑一下,那我有一个问题,贵司不同环境通用一个 Rocket 吗?
    jr981008
        12
    jr981008  
       2021-01-23 15:41:48 +08:00
    这种中间件没有 acl 控制?
    jerry1zeng
        13
    jerry1zeng  
    OP
       2021-01-23 15:47:40 +08:00
    @jr981008 小公司 没那研发力度。。。能完成需求就不错了😂
    zzh7982
        14
    zzh7982  
       2021-01-23 15:55:54 +08:00
    @jerry1zeng 你同事也消费你本地的 MQ ?。。。
    jerry1zeng
        15
    jerry1zeng  
    OP
       2021-01-23 16:00:36 +08:00
    @zzh7982 我自己启动肯定就我自己一个人用了 😂
    Lighfer
        16
    Lighfer  
       2021-01-23 16:31:58 +08:00
    支持 springEL 的啊,开发测试环境运行命令加上一个指定的系统参数,收发消息的代码加上就行了
    amwyyyy
        17
    amwyyyy  
       2021-01-23 17:04:07 +08:00 via iPhone
    如果是自己发的消息,那就和同事用不同 tag 。如果是外部应用发的消息,那就用不同的消费组。
    guodong110
        18
    guodong110  
       2021-01-24 20:38:55 +08:00
    线下环境改下配置的 group 不就好了,不就避免被同事消费了
    676529483
        19
    676529483  
       2021-01-25 09:51:16 +08:00
    @jerry1zeng 不是,分实例的,开发和测试不在一个环境
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2883 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.