activemq - ActiveMQ 的用途是什么 - 我们可以使用数据库应用消息传递概念吗?

标签 activemq

我查了一下,它用于在两个系统之间发送消息。
但为什么?为什么不直接使用数据库
一定有一些 ActiveMQ 具有 数据库 没有的功能吗?

最佳答案

它用于在两个分布式进程之间进行可靠的通信。

是的,您可以将消息存储在数据库中以在两个进程之间进行通信,但是,一旦收到消息,您就必须删除该消息, 这意味着每条消息都有一行 INSERTDELETE
当您尝试扩展每秒传输数千条消息时,数据库往往会崩溃

另一方面,像 ActiveMQ 这样的面向消息的中间件 [MOM] 就是为了处理这些用例而构建的。
他们假设健康系统中的消息将很快被删除,并且可以进行优化以避免开销

它还可以将消息推送给消费者,而消费者不必通过执行 SQL 查询来轮询新消息。
这进一步减少了处理发送到系统的新消息所涉及的延迟。

关于activemq - ActiveMQ 的用途是什么 - 我们可以使用数据库应用消息传递概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805377/

相关文章:

java - Jboss As 5 和 activemq

ActiveMQ 在 Web 控制台中查看原始消息数据

apache-camel - 哪个 Java EE 容器适用于使用 EJB 的 Apache Camel/CXF/ActiveMQ Web 应用程序?

java - 生产环境下ActiveMQ的队列满了怎么办?

java - Active MQ 和 Amazon MQ 之间的区别

java - 将 CSV 文件转换为 Java 对象 (POJO) 并将其发送到 ActiveMQ 队列

javascript - Node.js 和 ActiveMQ 之间的集成 - 如何使用

java - ActiveMq:超过允许的最大客户端连接数

activemq - ActiveMQ 是否保证消息传递?

java - ActiveMQ Blob 消息的持久化