1. 消息中间件
利用高效可靠的消息机制进行与平台无关的数据交流
提供了以松耦合的灵活方式集成应用程序的一种机制,基于存储和转发的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的消息中间件通信。
两个应用程序之间传数据。
rabbitmq是一种RPC调用方式,可作为分布式中间件。
2. 作用
异步
解耦
削峰
冗余
3. 协议
分布式消息传递的过程,可用性,可靠性,持久化,吞吐量(性能),跨平台(Java)
JMS 规范 ActiveMQ 点对点 queue(存放消息队列)。消息类型: text,map,object,bytes,stream
AMQP 协议 支持跨平台。 rabbitmq elang 高并发 业务逻辑处理
kafka 性能 100W 普通PC,单节点,好一点的机器达到 1000W 日志收集 一次发送多批数据,一批发送多条数据
连接:信道(channel) 连接之上专门开了一个信道 ,专门用来传输消息。
交换器:邮递员 基于路由键(信封上的发送信息)。绑定是基于路由键绑定的,绑定到队列。
默认Exchanage\消息的确认机制\持久化\拒收\限流
4. 示例
生产消息:
消费消息: