diff --git a/docs/rocketmq/RocketMQ的几个问题与原理.md b/docs/rocketmq/RocketMQ的几个问题与原理.md index fd87bb20..c80b144a 100644 --- a/docs/rocketmq/RocketMQ的几个问题与原理.md +++ b/docs/rocketmq/RocketMQ的几个问题与原理.md @@ -122,7 +122,7 @@ class Broker { 问题: 1. 没有实现真正执行消息存储落盘 2. 没有实现 NameServer 去作为注册中心,定位服务 -3. 使用 LinkedBlockingQueue 作为消息队列,注意,参数是无限大,在真正 RocketMQ 也是如此是无限大,理论上不会出现对进来的数据进行抛弃,但是会有内存泄漏问题(阿里巴巴开发手e册也因为这个问题,建议我们使用自制线程池) +3. 使用 LinkedBlockingQueue 作为消息队列,注意,参数是无限大,在真正 RocketMQ 也是如此是无限大,理论上不会出现对进来的数据进行抛弃,但是会有内存泄漏问题(阿里巴巴开发手册也因为这个问题,建议我们使用自制线程池) 4. 没有使用多个队列(即多个 LinkedBlockingQueue),RocketMQ 的顺序消息是通过生产者和消费者同时使用同一个 MessageQueue 来实现,但是如果我们只有一个 MessageQueue,那我们天然就支持顺序消息 5. 没有使用 MappedByteBuffer 来实现文件映射从而使消息数据落盘非常的快(实际 RocketMQ 使用的是 FileChannel+DirectBuffer) @@ -154,7 +154,7 @@ class Broker { ### 2.1.5 顺序消息的实现 -与定时消息同原理,生产者生产消息时指定特定的 MessageQueue ,消费者消费消息时,消费特定的 MessageQueue,其实单机版的消息中心在一个 MessageQueue 就天然支持了顺序消息(真棒!) +与定时消息同原理,生产者生产消息时指定特定的 MessageQueue ,消费者消费消息时,消费特定的 MessageQueue,其实单机版的消息中心在一个 MessageQueue 就天然支持了顺序消息 ### 2.1.6 分布式消息的实现