更新时间:2022-09-23 10:15:00 来源:极悦 浏览543次
MQ 称为消息队列。消息队列 (MQ) 是一种应用程序到应用程序的通信方法。应用程序通过在队列内外写入和检索特定于应用程序的数据(消息)进行通信,而无需专用连接来链接它们。消息传递是指程序之间通过消息中的数据进行通信,而不是直接相互调用进行通信。直接调用通常用于远程过程调用等技术。队列是指通过队列进行通信的应用程序。队列的使用消除了同时执行接收和发送应用程序的要求。其中较为成熟的 MQ 产品有 IBM WebSphere MQ、RabbitMQ、ZeroMQ、ActiveMQ、Redis(用作轻量级队列服务)、Kafka、RocketMQ。它们之间的比较见:特点:MQ的consumer-producer模型的典型代表,一端不断向消息队列写入消息,另一端可以读取或订阅队列中的消息。MQ 与 JMS 类似,不同之处在于 JMS 是 SUN Java 消息中间件服务的标准和 API 定义,而 MQ 是遵循 AMQP 协议的具体实现和产品。
1.异步通信
一些企业不希望或不需要立即处理消息。消息队列提供了一种异步处理机制,允许用户将消息放入队列,但不会立即处理。将任意数量的消息放入队列中,然后在需要时处理它们。
2. 解耦
降低项目之间的强依赖程度,适应异构系统。在项目之初,很难预测项目未来会遇到什么需求。通过消息系统,一个隐式的基于数据的接口层被插入到处理的中间。双方的处理都必须实现这个接口。当应用程序发生变化时,双方的处理可以独立扩展或修改。它们遵循相同的界面约束。
3.冗余
在某些情况下,处理数据的过程会失败。除非数据被持久化,否则它将丢失。消息队列将数据持久化,直到它们被完全处理,从而避免了数据丢失的风险。在很多消息队列采用的“insert-get-delete”范式中,在从队列中删除一条消息之前,你的处理系统需要清楚地表明该消息已经被处理,以确保你的数据被安全存储,直到你用完为止。
以上就是极悦小编介绍的"mq使用场景介绍",希望对大家有帮助,想了解更多可查看Java教程。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习