@[toc] 导图 Pre MQ闲聊MQ一二事儿(Kafka、RocketMQ、Pulsar) MQ发展史 基于JMS协议发展出来的ActiveMQ因为功能和稳定性问题,用的人比较少。 AMQP是一个消息队列协议规范,它不是一款具体的消息队列。因为不同消息队列的访问协议是不一样的,导致不同的消息队列需要用不同的SDK访问,客户的切换成本很高。2003年,多个金融服务机构希望制定一个消息队列的协议规范,希望不同的消息队列的协议都根据这个标准实现,这样就可以不需要重复开发SDK,不同的应用程序之间的交互和切换可以更简单、更方便。这就是AMQP的由来。 基于JMS协议发展出来的Acti...

  jt6CnuRn5coj   2023年11月02日   34   0   0

@[toc] 导图 MQ02基础篇_通讯协议 概述 从功能上来看,一个最基础的消息队列应该具备生产、存储、消费的能力 也就是能完成“生产者把数据发送到Broker,Broker收到数据后,持久化存储数据,最后消费者从Broker消费数据”的整个流程。 我们从这个流程来拆解技术架构,如下图所示,最基础的消息队列应该具备五个模块。 通信协议:用来完成客户端(生产者和消费者)和Broker之间的通信,比如生产或消费。 网络模块:客户端用来发送数据,服务端用来接收数据。 存储模块:服务端用来完成持久化数据存储。 生产者:完成生产相关的功能。 消费者:完成消费相关的功能。 消息队列...

  jt6CnuRn5coj   2023年11月02日   106   0   0

@[toc] 导图 概述 对消息队列来说,网络模块是核心组件之一,网络模块的性能很大程度上决定了消息传输的能力和整体性能。 如果你是Java技术栈的开发人员,讲到网络模块的开发,大概率第一反应就是Netty。Netty作为Java网络编程中最出名的类库,几乎主宰了Java的网络编程。 那消息队列网络模块的选型,是不是直接用Netty就可以了呢? 选型之前,我们得先知道要解决什么问题。消息队列是需要满足高吞吐、高可靠、低延时,并支持多语言访问的基础软件,网络模块最需要解决的是性能、稳定性、开发成本三个问题。 接下来我们就围绕这三点来思考消息队列网络模块应该怎样设计。 首先我们先来分析一下...

  jt6CnuRn5coj   2023年11月02日   49   0   0

@[toc] ![在这里插入图片描述](https://img-blog.csdnimg.cn/855d3c6d2ef74a1893f352a4545b479c.png) --------------------- 导图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d0569e3871dd433784f74d76ebee9a9d.png) ---------- 概述 消息数据和元数据的存储是如何设计的? 存储模块作为消息队列高吞吐、低延时、高可靠特性的基础保证,可以说是最核心的模块。 从技术架构的角度来看,存储模块包含功能实现和性能优...

  jt6CnuRn5coj   2023年11月02日   100   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~