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

搞了个 rocketmq 分支,做了 10W+的可读性优化,对应的书也开始周更,有没有一起研究 MQ 的呀?

  •  
  •   winglechen ·
    winglechen · 1 天前 · 2668 次点击

    搞了个 rocketmq 分支,做了 10W+的可读性优化,对应的书也开始周更,有没有一起研究 MQ 的呀?

    RocketMQ 功能足够,我们主要是做了一些可读性的优化

    • 巨类拆分
    • 大函数拆分
    • ...

    研究过程我们沉淀了,10 几万的文字 + 200+的图片
    准备沉淀成一本小书 《 RocketMQ 源码解析与优化》
    小书内容会在公众号上周更,下图是小书的目录:

    RocketMQ 源码解析与优化

    分支介绍: RocketMQ wolf 开源分支
    开源地址: https://github.com/wolforest/rocketmq

    部分小书的内容:

    43 条回复    2024-11-21 13:53:23 +08:00
    niexq
        1
    niexq  
       1 天前
    感谢老哥的开源精神, wolforest/rocketmq 太专业太强了, 期待小书
    winglechen
        2
    winglechen  
    OP
       1 天前
    @niexq 一起学习,我们的分支改了大半年了,也只能凑合着看,官方分支估计压力太多,核心代码十多年没变过了,我们还是有可能做个分支,融合到官方去的
    niexq
        3
    niexq  
       1 天前
    嗯嗯嗯, 正在学习, 很佩服老哥, 在带领团队做业务的同时, 还能这么高产的系统输出, 加油持续关注中
    wenliangtiantim
        4
    wenliangtiantim  
       1 天前
    技术做的深入,总结能力也强,牛!拉代码学习下
    yuliuxuanke
        5
    yuliuxuanke  
       1 天前 via Android
    厉害
    BBCCBB
        6
    BBCCBB  
       1 天前
    automq 有搞头
    timepast
        7
    timepast  
       1 天前 via Android
    带我一个
    cumt21g
        8
    cumt21g  
       1 天前
    666
    Karte
        9
    Karte  
       1 天前
    Orz
    huzhizhao
        10
    huzhizhao  
       1 天前
    666 牛逼
    herofire
        11
    herofire  
       23 小时 53 分钟前
    弓虽啊!牛人
    lrh3321
        12
    lrh3321  
       23 小时 49 分钟前
    666
    winglechen
        13
    winglechen  
    OP
       23 小时 44 分钟前
    @BBCCBB automq 没有历史包袱,只依赖 rocketmq 的协议,代码好很多,不过他们的精力偏向 kafka 了, 开源版 automq-for-rocketmq 好久没更新了
    winglechen
        14
    winglechen  
    OP
       23 小时 39 分钟前
    @timepast 加我微信聊,winglechen
    ala2008
        15
    ala2008  
       23 小时 38 分钟前
    看起来 automq 很强大啊
    winglechen
        16
    winglechen  
    OP
       23 小时 14 分钟前
    @ala2008 automq 是原团队搞的,独立公司在搞,
    automq-for-kafka 可以挣美丽国的钱,automq-for-rocketmq 不太好说,
    不过说回来,学习或者自己部署 rocketmq 用我们的分支更好维护点
    winglechen
        17
    winglechen  
    OP
       22 小时 37 分钟前
    除了 MQ 也可以参与一下我们的其它小书
    ![面向同事编程]( https://www.1t1d.com/software/books-all.png)
    illusory
        18
    illusory  
       22 小时 28 分钟前
    想请楼主评价一下 NATS 作为 MQ 使用的话是不是足够好?
    DiorsPo
        19
    DiorsPo  
       22 小时 25 分钟前
    👍
    DiorsPo
        20
    DiorsPo  
       22 小时 22 分钟前
    代码的可理解在工作中太重要了,作为技术人往往在业务的压力面前丢失了很多追求和操守。看到 OP 团队的工作,有点感动,这才是工程师文化!
    liprais
        21
    liprais  
       22 小时 20 分钟前
    你们搁这团建呢?
    buxushow
        22
    buxushow  
       22 小时 20 分钟前
    支持
    winglechen
        23
    winglechen  
    OP
       22 小时 3 分钟前
    一起学习,我们的分支改了大半年了,也只能凑合着看,
    代码依然还有 20 个参数的函数,还得花更多时间慢慢改,
    不过我们加了注释,看懂估计是问题不大了。

    官方分支估计压力太多,核心代码十多年没变过了,
    现在国内用 rocketmq 的挺多的,rocketmq5 出来后,很多 rocketmq 都升级了
    我们做的分支,完全兼容官方版(现在那部分差异,我们也会搞定),
    是有可能造一个版本,最后融合到官方去的
    winglechen
        24
    winglechen  
    OP
       21 小时 58 分钟前
    @illusory 不好意思,不敢评,我们只是在我们的场景里,拥抱的 rocketmq, 其它的真不懂
    Ngink
        25
    Ngink  
       21 小时 31 分钟前
    支持😋
    mark2025
        26
    mark2025  
       21 小时 26 分钟前
    感觉好复杂,我选择 pgmq pg 一把梭~
    winglechen
        27
    winglechen  
    OP
       21 小时 18 分钟前 via Android
    @mark2025 pg 还是很吊的,国内的生态还没起来,搞点 pg 的内容 帮 pg 把火烧起来
    mark2025
        28
    mark2025  
       21 小时 7 分钟前
    @winglechen pg 慢慢起来了,信创数据库大部分是 pg 改的。
    pgmq 这种基于 pg 开发的 消息队列插件不用考虑事务实现、数据完整性、服务稳定性,完全是站在巨人的肩膀上开发,省事又省心。
    baolongqishi
        29
    baolongqishi  
       20 小时 54 分钟前
    @winglechen #17 卧槽,这么多啊,太牛逼了老哥
    securityCoding
        30
    securityCoding  
       20 小时 53 分钟前
    厉害啊,这几年一直在 kafka 了
    codegenerator
        31
    codegenerator  
       20 小时 42 分钟前
    @illusory 成熟优秀的 mq 就 2 个,kafka 和 rocketmq
    winglechen
        32
    winglechen  
    OP
       20 小时 33 分钟前
    @mark2025 我们搞过一个 mqclient 的封装,可以接各种 MQ 引擎,目前接了 rocketmq4 和 5, 还有 kakfa
    对于需要适应不同 MQ 的业务可能会有用 调用方式:
    mqTemplate.produce()
    .id(mqTask.getNextTaskId())
    .topic(MQDefaultConst.TOPIC_TABLE_SCAN)
    .tag(PayMQConst.TAG_PAYMENT_DAILY_SUCCEED_BY_CHANNEL)
    .message(scan)
    .delay(scan.getDelay())
    .send();

    mqTemplate.transaction()
    .id(finTransfer.getTransferNo())
    .topic(FinMQConst.TOPIC_TRANSFER_TXN)
    .tag(FinMQConst.TAG_TRANSFER_DECREASED)
    .message(model)
    .property(args)
    .begin();

    代码地址: https://github.com/wolforest/wolf/tree/master/mqclient
    winglechen
        33
    winglechen  
    OP
       20 小时 29 分钟前
    @codegenerator pulsar 还是很吊的,只是它的事务支持方式类似于数据库,对 TCC 这种还要改造,不清楚是不是老外们都不玩 TCC ,TCC 对于有点量的电商,还是很重要的
    airqj
        34
    airqj  
       20 小时 27 分钟前
    虽然用不着
    但是先收藏在说
    redime
        35
    redime  
       20 小时 26 分钟前 via iPhone
    @winglechen 这些小书去哪里看
    winglechen
        36
    winglechen  
    OP
       20 小时 24 分钟前
    @baolongqishi 我们在搞一个技术创作者的联盟,一起沉淀一些有价值的技术内容
    核心有几点:
    * 结构化,
    * 内容共创

    结构化的内容才能避免大量的重复
    共创,类似开源模式,内容多人编辑, 质量才能越来越高
    当然共创对收益怎么分配是有挑战的,
    我们也准备搞个开源的收益分配算法,尝试来解决收益分配的问题

    有没有兴趣,一起搞呀?
    winglechen
        37
    winglechen  
    OP
       20 小时 21 分钟前
    @redime 暂时我们会把内容发布到公众号上,我们在做一个平台,后面内容都会放到平台上

    现在平台还没完全做好,只能凑合着看,https://1t1d.com
    浏览器插件地址: https://chromewebstore.google.com/detail/%E4%B8%80%E5%A4%A9%E4%B8%80%E7%82%B9%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%92%E4%BB%B6/mcmkgpnlnnlnbienldgnloecjkpfejac
    小程序还在开发中。
    boshok
        38
    boshok  
       20 小时 0 分钟前
    @winglechen #17 请问图片中的内容是已经存在的,还是将来要做的?
    winglechen
        39
    winglechen  
    OP
       19 小时 49 分钟前 via Android
    @boshok 一部分正在做的,一部分计划做的
    winglechen
        40
    winglechen  
    OP
       2 小时 39 分钟前 via Android
    补充一个有些兄弟问的问题,我们的 github 代码仓库 develop 就是官方分支 我们的分支是 wolf
    wenliangtiantim
        41
    wenliangtiantim  
       1 小时 49 分钟前
    @winglechen 对这个技术创作者联盟的共创模式很感兴趣,希望尽快出一个前期的合作细则,以便大家参与进来啊?
    winglechen
        42
    winglechen  
    OP
       1 小时 7 分钟前
    @wenliangtiantim 目前的合作模式比较简单,按文章来,互相帮助那部分,先不算,类似的,我们平台的目录也不收费,先合作起来,后期再搞复杂的算法分成。
    niexq
        43
    niexq  
       22 分钟前
    对技术创作者联盟的共创模式感兴趣+1, 昨天对 github 代码仓库深入学习了下, 信息量很密集, 感谢 OP 团队, 这工程师文化, 慕了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5743 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.