activemq后台管理 看topic消息_ActiveMQ · 基础篇

本文通过对话形式,介绍了ActiveMQ的基本概念,包括MOM、JMS、Provider、Domains等,并详细阐述了点对点(P2P)与发布/订阅(Pub/Sub)消息域的区别。同时,讲解了ActiveMQ的存储机制,包括FIFO存储原则和持久化订阅者的工作原理,以及常用存储方式如KahaDB、AMQ、JDBC和内存存储的特点。最后,讨论了ActiveMQ的部署模式,如单例、无共享主从和共享存储主从模式,以及代理网络的配置和网络发现策略。
摘要由CSDN通过智能技术生成
作者:cyfonly来源:https://www.cnblogs.com/cyfonly/p/6380860.html

过了个春节,回到公司的成小胖变成了成大胖。但是你们千万别以为他那个大肚子里面装的都是肥肉,里面的墨水也多了不少嘞,毕竟成小胖利用春节的半个月时间专心学习并研究了 ActiveMQ,嘿嘿……

这不,为了检验下自己的学习成果,上班的第一天成小胖就去找架构师老王交流 ActiveMQ 相关的知识,还顺便向老王讨了个红包,可把成小胖给高兴坏了。

“来,根据你的了解说下 ActiveMQ 是什么。”

“这个简单,ActiveMQ 是一个 MOM,具体来说是一个实现了 JMS 规范的系统间远程通信的消息代理。它……”

“等等,先解释下什么是 MOM。”

“好。MOM 就是面向消息中间件(Message-oriented middleware),是用于以分布式应用或系统中的异步、松耦合、可靠、可扩展和安全通信的一类软件。MOM 的总体思想是它作为消息发送器和消息接收器之间的消息中介,这种中介提供了一个全新水平的松耦合。”

“JMS呢?”

成小胖是个追求极致的人,为了解释得更通俗易懂,索性搬来一块白板边画边说。

“JMS 叫做 Java 消息服务(Java Message Service),是 Java 平台上有关面向 MOM 的技术规范,旨在通过提供标准的产生、发送、接收和处理消息的 API 简化企业应用的开发,类似于 JDBC 和关系型数据库通信方式的抽象。”

b80b5bc5556c173aece17b7fd162c8fb.png

“嗯,很好。下面的这些概念你也需要特别理解下”:

  • Provider:纯 Java 语言编写的 JMS 接口实现(比如 ActiveMQ 就是)
  • Domains:消息传递方式,包括点对点(P2P)、发布/订阅(Pub/Sub)两种
  • Connection factory:客户端使用连接工厂来创建与 JMS provider 的连接
  • Destination:消息被寻址、发送以及接收的对象

“你来说说这其中 P2P 和 Pub/Sub 的区别吧”,老王给成小胖抛出了一个问题。

成小胖可不是吃素的,毕竟要是吃素的话他也吃不到这么胖……这些基本概念对他来说都是小事一桩:

P2P (点对点)消息域使用 queue 作为 Destination,消息可以被同步或异步的发送和接收,每个消息只会给一个 Consumer 传送一次。

Consumer 可以使用 MessageConsumer.receive() 同步地接收消息,也可以通过使用MessageConsumer.setMessageListener() 注册一个 MessageListener 实现异步接收。

多个 Consumer 可以注册到同一个 queue 上,但一个消息只能被一个 Consumer 所接收,然后由该 Consumer 来确认消息。并且在这种情况下,Provider 对所有注册的 Consumer 以轮询的方式发送消息。

513fd80aa0560ceb8760aaf1b82f5e17.png

Pub/Sub(发布/订阅,Publish/Subscribe)消息域使用 topic 作为 Destination,发布者向 topic 发送消息,订阅者注册接收来自 topic 的消息。发送到 topic 的任何消息都将自动传递给所有订阅者。接收方式(同步和异步)与 P2P 域相同。

除非显式指定,否则 topic 不会为订阅者保留消息。当然,这可以通过持久化(Durable)订阅来实现消息的保存。这种情况下,当订阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值