前言: 什么是消息队列? 消息队列是一种异步服务到服务通信的形式,用于无服务器和微服务架构。在消息队列中,消息的
什么是消息队列?
消息队列是一种异步服务到服务通信的形式,用于无服务器和微服务架构。在消息队列中,消息的发送者和接收者不需要同时交互,消息被保留在Java队列中,直到接收者检索它们。
消息队列的好处
消息队列可用于解耦重量级处理、缓冲或批处理工作以及平滑尖峰工作负载。
更好的性能
消息队列支持异步通信,这意味着产生和使用消息的端点与队列交互,而不是彼此交互。生产者可以将请求添加到队列中,而无需等待它们被处理。消费者仅在消息可用时才处理它们。系统中的任何组件都不会停止等待另一个优化数据流。
提高可靠性
队列使您的数据持久化,并减少系统不同部分脱机时发生的错误。通过使用消息队列分隔不同的组件,您可以创建更多的容错性。如果系统的一部分永远无法访问,另一部分仍然可以继续与队列交互。队列本身也可以镜像以获得更高的可用性。
粒度可扩展性
消息队列可以在您需要的地方精确扩展。当工作负载达到峰值时,应用程序的多个实例都可以将请求添加到队列中,而不会发生冲突。随着这些传入请求的队列变长,您可以将工作负载分配给一组消费者。生产者、消费者和队列本身都可以按需增长和收缩。
简化解耦
消息队列消除了组件之间的依赖关系,并显着简化了解耦应用程序的编码。软件组件不受通信代码的影响,而是可以设计为执行离散的业务功能。
消息队列是一种非常简单的解耦Java分布式系统的方法,无论您使用的是单体应用程序、微服务还是无服务器架构。
消息队列的类型
点对点
点对点意味着消息通过队列从一个应用程序(生产者/发送者)发送到另一个应用程序(消费者/接收者)。可以有多个消费者在一个队列上监听,但只有其中一个可以接收消息。因此,它是点对点或一对一。
发布/订阅
消息队列服务器
消息队列服务器有多种语言版本。例如 Erlang (RabbitMQ)、C (beanstalkd)、Ruby (Starling 或 Sparrow)、Scala (Kestrel、Kafka) 和 Java (ActiveMQ)。选择特定的消息队列服务器完全取决于用例。
另一方面,发布/订阅是一种消息传递模型,其中消息通过主题发送给多个消费者(或订阅者)。主题是发布者和订阅者之间的链接。订阅者可能会或可能不会确认发布的消息。
文章出自:http://qh.itpxw.cn/peixun/software/2022121469.html
文章标题:Java消息队列的介绍
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...