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

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

  •  
  •   winglechen ·
    winglechen · 8 天前 · 3193 次点击

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

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

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

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

    RocketMQ 源码解析与优化

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

    部分小书的内容:

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

    官方分支估计压力太多,核心代码十多年没变过了,
    现在国内用 rocketmq 的挺多的,rocketmq5 出来后,很多 rocketmq 都升级了
    我们做的分支,完全兼容官方版(现在那部分差异,我们也会搞定),
    是有可能造一个版本,最后融合到官方去的
    winglechen
        24
    winglechen  
    OP
       8 天前
    @illusory 不好意思,不敢评,我们只是在我们的场景里,拥抱的 rocketmq, 其它的真不懂
    Ngink
        25
    Ngink  
       7 天前
    支持😋
    mark2025
        26
    mark2025  
       7 天前
    感觉好复杂,我选择 pgmq pg 一把梭~
    winglechen
        27
    winglechen  
    OP
       7 天前 via Android
    @mark2025 pg 还是很吊的,国内的生态还没起来,搞点 pg 的内容 帮 pg 把火烧起来
    mark2025
        28
    mark2025  
       7 天前
    @winglechen pg 慢慢起来了,信创数据库大部分是 pg 改的。
    pgmq 这种基于 pg 开发的 消息队列插件不用考虑事务实现、数据完整性、服务稳定性,完全是站在巨人的肩膀上开发,省事又省心。
    baolongqishi
        29
    baolongqishi  
       7 天前
    @winglechen #17 卧槽,这么多啊,太牛逼了老哥
    securityCoding
        30
    securityCoding  
       7 天前
    厉害啊,这几年一直在 kafka 了
    codegenerator
        31
    codegenerator  
       7 天前
    @illusory 成熟优秀的 mq 就 2 个,kafka 和 rocketmq
    winglechen
        32
    winglechen  
    OP
       7 天前
    @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
       7 天前
    @codegenerator pulsar 还是很吊的,只是它的事务支持方式类似于数据库,对 TCC 这种还要改造,不清楚是不是老外们都不玩 TCC ,TCC 对于有点量的电商,还是很重要的
    airqj
        34
    airqj  
       7 天前
    虽然用不着
    但是先收藏在说
    redime
        35
    redime  
       7 天前 via iPhone
    @winglechen 这些小书去哪里看
    winglechen
        36
    winglechen  
    OP
       7 天前
    @baolongqishi 我们在搞一个技术创作者的联盟,一起沉淀一些有价值的技术内容
    核心有几点:
    * 结构化,
    * 内容共创

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

    有没有兴趣,一起搞呀?
    winglechen
        37
    winglechen  
    OP
       7 天前
    @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  
       7 天前
    @winglechen #17 请问图片中的内容是已经存在的,还是将来要做的?
    winglechen
        39
    winglechen  
    OP
       7 天前 via Android
    @boshok 一部分正在做的,一部分计划做的
    winglechen
        40
    winglechen  
    OP
       7 天前 via Android
    补充一个有些兄弟问的问题,我们的 github 代码仓库 develop 就是官方分支 我们的分支是 wolf
    wenliangtiantim
        41
    wenliangtiantim  
       7 天前
    @winglechen 对这个技术创作者联盟的共创模式很感兴趣,希望尽快出一个前期的合作细则,以便大家参与进来啊?
    winglechen
        42
    winglechen  
    OP
       7 天前
    @wenliangtiantim 目前的合作模式比较简单,按文章来,互相帮助那部分,先不算,类似的,我们平台的目录也不收费,先合作起来,后期再搞复杂的算法分成。
    niexq
        43
    niexq  
       7 天前
    对技术创作者联盟的共创模式感兴趣+1, 昨天对 github 代码仓库深入学习了下, 信息量很密集, 感谢 OP 团队, 这工程师文化, 慕了
    baolongqishi
        44
    baolongqishi  
       7 天前
    @winglechen #36 有群吗~
    winglechen
        45
    winglechen  
    OP
       7 天前 via Android
    先加我微信吧 wx 名子就是 v 站名
    winglechen
        46
    winglechen  
    OP
       6 天前
    收藏的兄弟很多,还有没有进来参与下的呀?
    niexq
        47
    niexq  
       6 天前
    @winglechen 老哥, 已加 wx, 通过下呢
    winglechen
        48
    winglechen  
    OP
       6 天前 via Android
    已通过 不好意思 刚才有点事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5515 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:38 · PVG 16:38 · LAX 00:38 · JFK 03:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.