随笔分类 -  MQ

mq延迟
摘要:延迟==平均响应时间 https://help.aliyun.com/zh/pts/performance-test-pts-2-0/user-guide/view-a-rocketmq-stress-test-report https://zhuanlan.zhihu.com/p/71901856 阅读全文

posted @ 2025-09-05 22:55 silyvin 阅读(7) 评论(0) 推荐(0)

rocketmq 服务端源码
摘要:1 2 强刷页缓存 阅读全文

posted @ 2025-09-02 00:24 silyvin 阅读(10) 评论(0) 推荐(0)

mmap内存映射 页缓存 虚拟内存 swap buffer sendfile【重点】
摘要:1 mmap done https://blog.csdn.net/QuillChen/article/details/120380507 第一种方式需要预先分配好物理内存,内核才能将页高速缓冲中的文件数据拷贝到用户进程指定的内存空间中。(DMA从磁盘-》内核,CPU负责内核-〉用户) https: 阅读全文

posted @ 2025-08-30 23:03 silyvin 阅读(30) 评论(0) 推荐(0)

rocketmq 客户端源码
摘要:结论: 异步不会自动重传 事务使用同步 生产端要有序必须单线程同步(或多线程加内存屏障),异步时由于用户自行应用层定义重传导致包到达服务器会反一反 服务器肯定没有像tcp协议那样重排序,因为客户端msgid并不是严格+1 1 send 异步 org.apache.rocketmq.client.im 阅读全文

posted @ 2025-08-29 21:34 silyvin 阅读(10) 评论(0) 推荐(0)

mq重新produce
摘要:1 为什么要应用层处理?rocketmq在事务消息的重传上有复杂的规则rocketmq 客户端源码,需要结合client源码定制应用层 2 在各种超时归纳整理中归纳了3中异常,都要结合rocketmq源码处理 阅读全文

posted @ 2025-08-26 18:02 silyvin 阅读(9) 评论(0) 推荐(0)

MQ坑【done】【重要】
摘要:1 消费端自动消费ack还是手动 1.1 自动,抓取,然后断电怎么办——无解 1.2 手动,db处理好了,然后断电ack没发出去怎么办 二阶段分布式锁 第一把锁放顶上,表示开始处理,putifabsent(thread_id),两个场景, 1.1)防止短期重复投递,比如生产端ack延迟客户端投了两次 阅读全文

posted @ 2025-08-03 16:20 silyvin 阅读(7) 评论(0) 推荐(0)

rocketmq分布式事务【yetdone】
摘要:https://rocketmq.apache.org/zh/docs/featureBehavior/04transactionmessage/ https://zhuanlan.zhihu.com/p/115553176 这张表专门作用于事务状态回查。当提交业务数据时,此表也插入一条数据,它们共 阅读全文

posted @ 2025-07-22 00:04 silyvin 阅读(8) 评论(0) 推荐(0)

mmap和sendfile
摘要:https://cloud.tencent.com/developer/article/1677841 假设需求是将一个磁盘文件发布到网络上。 1 总共需要2次CPU拷贝、2次DMA拷贝,4次上下文切换,其中read和write各占一半; 程序调用系统方法mmap(图上有误),使用DMA的方式将磁盘 阅读全文

posted @ 2025-07-01 00:33 silyvin 阅读(84) 评论(0) 推荐(0)