消息中间件RocketMQ原理解析 - 斩秋........................................................................ 42 6.2:索引服务 IndexService 线程 ................................................................................. 43 6.3:构建索引服务 . 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件, 遍历存储事 务状态的表格记录 如果是已经提交或者回滚的消息调过过, 如果是 prepared 状态的如果消息小于事务回查至少间隔时间(默认是一分钟)跳出终 Broker) 统计信息打点 动态调整消费线程池 启动拉消息服务 PullMessageService 启动消费端负载均衡服务 RebalanceService 从 namesrv 更新 topic 路由信息 向所有 broker 发送心跳信息,(包括订阅关系) 唤醒 Rebalance 服务线程 二:消费端负载均衡0 码力 | 57 页 | 2.39 MB | 1 年前3
RocketMQ v3.2.4 开发指南Consumer Group 消费。 顺序消息 消费消息的顺序要同収送消息的顺序一致,在 RocketMQ 中,主要挃的是尿部顺序,即一类消息为满足顺 序性,必须 Producer 单线程顺序収送,丏収送到同一个队列,返样 Consumer 就可以挄照 Producer 収送 的顺序去消费消息。 普通顺序消息 顺序消息的一种,正常情冴下可以保证完全的顺序消息,但是一旦収生通信异常,Broker RAID 卡,SAS 15000 转磁盘测试顺序写文件,速度可以达到 300M 每秒左史,而线上的网卡一般都为千兆 网卡,写磁盘速度明显快亍数据网络入口速度,那举是否可以做到写完内存就吐用户迒回,由后台线程刷盘呢? (1). 由亍磁盘速度大亍网卡速度,那举刷盘的迕度肯定可以跟上消息的写入速度。 (2). 万一由亍此时系统压力过大,可能堆积消息,除了写入 IO,迓有读叏 IO,万一出现磁盘读叏落后情冴, 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线程刷盘后,唤醒前端等待线程,可能是一批线程。 (3). 前端等待线程吐用户迒回成功。 项目开源主页:https://github.com/alibaba/RocketMQ 20 7.3 消息查询0 码力 | 52 页 | 1.61 MB | 1 年前3
谈谈MYSQL那点事sort_buffer_size 512K 128M 每个线程的排序缓存大小,一般按照内存可 以设置为 2M 以上,推荐是 16M ,该选项对 排序 order by , group by 起作用 record_buffer 128K 64M 每个进行一个顺序扫描的线程为其扫描的每 张表分配这个大小的一个缓冲区,可以设置 为 2M 以上 table_cache 64 1024 为所有线程打开表的数量。增加该值能增加 mysqld0 码力 | 38 页 | 2.04 MB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)09对kernel进行了优化,具体优化项如下: 内核优化项 优化目的 Config优化 关闭refcount_full。 idle_balance定制特性 新增STEAL流程,如果idle_balance迁移线程失败会触 发,STEAL流程简化了判断逻辑,会从sd_llc上的任意 overload的cpu迁移进程过来,从而提升cpu利用率。 方法 kernel的优化在openEuler 20.09中默认是关闭的,需要用以下步骤开启:0 码力 | 11 页 | 223.31 KB | 1 年前3
共 4 条
- 1













