10、从基础功能拆解RabbitMQ的架构设计与实现

你好,我是文强。 在基础篇开篇的时候,我们说过最基础的消息队列应该具备通信协议、网络模块、存储模块、生产者、消费者五个模块。在之前的课程中,我们详细分析了这五个模块的选型、设计和实现思路,接下来我们从消息和流的角度,用四节课的篇幅分别讲一下消息方向的...

深入拆解消息队列47讲

9、消费端:消费者客户端的SDK有哪些设计要点(下)

你好,我是文强。 这节课我们继续来讲消费端,上节课我们学习了消费模型的选择和分区消费模式设计,这节课我们将学习剩下的三部分,也就是消费分组(订阅)、消费确认、消费失败处理。 消费分组消费分组是用来组织消费者、分区、消费进度关系的逻辑概念。为什么需要消...

深入拆解消息队列47讲

8、消费端:消费者客户端的SDK有哪些设计要点(上)

你好,我是文强。上节课我们讲了生产端,这节课我们来讲讲消费端。 从技术上看,消费端SDK和生产端SDK一样,主要包括客户端基础功能和消费相关功能两部分。客户端基础功能在上一节讲过,我们就不再重复。 从实现来看,消费相关功能包括消费模型、分区消费模式、...

深入拆解消息队列47讲

7、生产端:生产者客户端的SDK有哪些设计要点

你好,我是文强。今天我们讲消息队列的客户端。 先问你一个问题:你在使用消息队列的SDK生产消费数据的时候,是否会有疑问,SDK底层是怎么工作的,由哪些功能模块组成呢?接下来我们会用三节课来详细分析一下这个问题。 消息队列的客户端主要包含生产、消费、集...

深入拆解消息队列47讲

6、存储:如何提升存储模块的性能和可靠性

你好,我是文强。 上一节我们讲了消息队列存储模块的功能实现,今天我们来讲存储模块的性能优化。 存储模块的性能优化,核心要解决的其实就是两个问题:“写得快”和“读得快”。这两个问题如何解决呢?我们从四点和存储性能优化有关的基础理论讲起。 内存读写的效...

深入拆解消息队列47讲

5、存储:消息数据和元数据的存储是如何设计的

你好,我是文强。今天我们讲消息队列的存储模块。 存储模块作为消息队列高吞吐、低延时、高可靠特性的基础保证,可以说是最核心的模块。从技术架构的角度来看,存储模块包含功能实现和性能优化两个方面,我们今天先聊存储模块的功能设计和实现。 上节课我们讲过,存储...

深入拆解消息队列47讲
15354555657673