• 请不要在回答技术问题时复制粘贴 AI 生成的内容
spike01
V2EX  ›  程序员

大家都是怎么用 rocketmq 的?

  •  
  •   spike01 · Jan 23, 2021 · 4477 views
    This topic created in 1949 days ago, the information mentioned may be changed or developed.

    如题,因为用 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 replies    2021-01-25 09:51:16 +08:00
    IDAEngine
        1
    IDAEngine  
       Jan 23, 2021
    上百万 topic 毫无压力
    itechify
        2
    itechify  
    PRO
       Jan 23, 2021 via Android
    我用的其他 mq,也有这个问题,dev 环境被其他主机消费,所以,联系同事别动,让我调完先🙊
    spike01
        3
    spike01  
    OP
       Jan 23, 2021
    @oneisall8955 这样测试太影响效率了
    spike01
        4
    spike01  
    OP
       Jan 23, 2021
    @IDAEngine 这样的级别肯定是用公司自研的框架吧
    deargodfrey
        5
    deargodfrey  
       Jan 23, 2021
    用 Kafka 和 Rabbit 多点
    limuyan44
        6
    limuyan44  
       Jan 23, 2021 via Android
    spring 的 config 不是可以拦截的吗,你读 topic 配置的时候加上自己的前缀。。
    spike01
        7
    spike01  
    OP
       Jan 23, 2021
    @limuyan44 topic 在注解 @RocketMQMessageListener#topic,注解的值我没看到能修改的方法。。。
    zzh7982
        8
    zzh7982  
       Jan 23, 2021
    再部署一个 mq
    spike01
        9
    spike01  
    OP
       Jan 23, 2021
    @zzh7982 我自己测试的话,会连我本地启的 MQ 。。。。
    676529483
        10
    676529483  
       Jan 23, 2021   ❤️ 2
    可以参考我司的做法,在不同环境里,加不同的 Tag,消费时,只消费指定 Tag 的信息
    spike01
        11
    spike01  
    OP
       Jan 23, 2021
    @676529483 这个方案可以考虑一下,那我有一个问题,贵司不同环境通用一个 Rocket 吗?
    jr981008
        12
    jr981008  
       Jan 23, 2021
    这种中间件没有 acl 控制?
    spike01
        13
    spike01  
    OP
       Jan 23, 2021
    @jr981008 小公司 没那研发力度。。。能完成需求就不错了😂
    zzh7982
        14
    zzh7982  
       Jan 23, 2021
    @jerry1zeng 你同事也消费你本地的 MQ ?。。。
    spike01
        15
    spike01  
    OP
       Jan 23, 2021
    @zzh7982 我自己启动肯定就我自己一个人用了 😂
    Lighfer
        16
    Lighfer  
       Jan 23, 2021
    支持 springEL 的啊,开发测试环境运行命令加上一个指定的系统参数,收发消息的代码加上就行了
    amwyyyy
        17
    amwyyyy  
       Jan 23, 2021 via iPhone
    如果是自己发的消息,那就和同事用不同 tag 。如果是外部应用发的消息,那就用不同的消费组。
    guodong110
        18
    guodong110  
       Jan 24, 2021
    线下环境改下配置的 group 不就好了,不就避免被同事消费了
    676529483
        19
    676529483  
       Jan 25, 2021
    @jerry1zeng 不是,分实例的,开发和测试不在一个环境
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   960 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 22:08 · PVG 06:08 · LAX 15:08 · JFK 18:08
    ♥ Do have faith in what you're doing.