
消息是用于服务之间通信的数据单元. 该消息可能非常简单,例如,它仅包含文本字符串. 它也可能更复杂,并且可能包含嵌入式对象. 队列是一种常见的数据结构,它是容纳消息的容器. 然后,消息队列是一个以消息为基本单位的优先级队列.

使用消息队列,系统的不同部分可以相互通信并异步执行处理操作. 消息队列提供了用于临时存储消息的轻量级缓冲区,并提供了允许软件组件连接到队列以发送和接收消息的终端节点. 这些消息通常很小,可以是请求,恢复,错误消息或纯文本消息.

链调用是编写程序时的一般过程. 为了完成整体功能,它将分为多个功能或子模块,例如A模块调用B,B模块调用C和C模块调用D. 但是,在分布式应用程序中,系统之间的RPC交互是复杂消息队列接口,并且在一个函数后面调用数百个接口并非不可能. 该体系结构具有以下缺点:

实际上,消息队列包括以下四种情况:


1. 客户端向MQ发送消息
2. MQ保留消息后,它将向客户端发送一个确认消息. 由于网络问题,可能无法将Ack消息发送给客户端. 然后客户端将在等待超时后重新传输消息;

3. 客户端收到确认消息后,认为该消息已成功传递.

1. MQ将消息推送到客户端(或客户端提取消息)

2. 客户收到消息并完成业务逻辑
3. 客户端向MQ发送一条确认消息,通知MQ删除该消息. Ack可能由于网络问题而失败消息队列接口,然后客户端将重复此消息,从而导致幂等消耗的问题;
4. MQ删除消耗的消息

Java分布式: 消息队列(消息队列)
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-256465-1.html
国际法