简单地说,使用 ActiveMQ 的方式是固定且直接的:启动 ActiveMQ 服务器,发送消息,接收消息。但你并未理解 ActiveMQ 背后运作的详情。在一些要求更高的场景里,需要理解并有能力自定义配置。虽然 ActiveMQ 提供了大量的配置项,但是先理解核心配置项才是最重要的。
第二部分就开始深入介绍 ActiveMQ 中重要的配置项,包括:连接代理,消息持久化以及安全性。这三项是学习理解 ActiveMQ 的首要必须的。

连接 ActiveMQ

本章主要知识点:

  • ActiveMQ 连接 URLs 的介绍和用法
  • 怎么用传输层连接器连接 ActiveMQ 客户端
  • 怎么使用网络连接创建 ActiveMQ 服务集群

像 ActiveMQ 这种 JMS 代理最主要的功能就是为客户端应用提供了连接方式。也因此,ActiveMQ 提供了连接器(connectors)——可以提供客户端到代理(使用传输层连接)以及代理到代理(使用网络连接)的连接机制。ActiveMQ 不仅允许客户端使用多种协议连接代理,而且也允许其他代理创建连接通道并构建复杂的 ActiveMQ 代理网络布局。
我们本章先介绍连接器中被用于指明代理位置的 URIs。然后我们深入研究传输层连接器并解释客户端可以使用哪些协议连接 ActiveMQ 代理。

理解连接器 URIs

ActiveMQ 连接器 URIs 就是稍微扩展了普通的 URI 的功能。

Transport connectors

Transport connectors 这个词真不好翻译啊!反正就是,客户端连接代理时就用 Transport connectors 。每个用户连接代理时的要求是不同的,有的人想要高性能,而其他人可能想要更高的安全性等,ActiveMQ 试图覆盖这所有的使用场景,为每种场景都提供一种连接方式。
这里涉及到了客户端连接 ActiveMQ 代理所用的几种协议,关于这几种协议的解释,我们可以来看下官方文档

跨协议

Apache ActiveMQ 是用 Java 写的消息代理,提供了 JMS,REST 以及 WebSocket 接口,并且,它支持多种协议以便不同的编程语言使用,包括:AMQP,MQTT,OpenWire 和 STOMP。

REST 接口

ActiveMQ 提供了 REST 接口以便任何互联网设备都可以通过标准的 HTTP 的 GET 和 POST 方法来生产或消费消息。
如果你对处理消息感兴趣,你可以查看 AJAX 或者 WebSockets 支持,或者去运行下 REST 例子

从 REST 到 JMS 的映射关系

发布消息使用 HTTP POST 方法,消费消息使用 HTTP DELETE 或者 GET 方法。
ActiveMQ 内部有一个 Servlet 提供了集成 HTTP 和 ActiveMQ dispatcher 的支持。

这地方东西有点多,以后用到了再回来细看吧!

WebSockets 接口

除了 AJAX 接口外,在 5.4.0 之后我们为浏览器新增了 WebSockets 接口支持。

这地方东西有点多,以后用到了再回来细看吧!

AMQP 协议

即 Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,未面向消息的中间件设计。

MATT 协议

MQTT,即 Message Queuing Telemetry Transport,消息队列遥测传输,是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过 Twitter 让房屋联网)的通信协议。

OpenWire 协议

这个好像是 ActiveMQ 自己定义的一种协议。

STOMP 协议

STOMP,即 Streaming Text Orientated Message Protocol,流文本定向消息协议,是一种为面向消息的中间件设计的简单文本协议。

Connecting to ActiveMQ over the network

即客户端使用以上说的几种协议连接代理。

Network connectors

通过网络连接,把多个 ActiveMQ 实例连接起来形成集群,以追求更高的可用性和可伸缩性。所以前面的内容都在讨论客户端怎么连接代理,而本小节讨论代理怎么连接代理。

Dynamic networks

通过多播等协议实现的。

参考

ActiveMQ Connectivity

最新文章

  1. 如何解决audiodg占用内存高(停止与重启audiodg服务)
  2. jni调试3(线程调试env变量问题)
  3. Codeforces Round #385 (Div. 2) A,B,C 暴力,模拟,并查集
  4. Unity内置的shader include files
  5. struts2+jsp+jquery+Jcrop实现图片裁剪并上传
  6. 3.AOP入门1
  7. (转)在Repeater中嵌套使用Repeater
  8. web推送
  9. paip.QQ音乐导出歌单总结
  10. 达到HTTP合约Get、Post和文件上传功能——采用WinHttp介面
  11. Hadoop是一种开源的适合大数据的分布式存储和处理的平台
  12. Ubuntu 终端关机和重启命令
  13. 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结
  14. PCIE
  15. 重写Distinct
  16. LINUX内核分析第八周学习总结
  17. django之admin设置
  18. Python匿名函数详解
  19. Python开发【Django】:时间处理
  20. 利用Flash XMLSocket实现”服务器推”技术

热门文章

  1. 使用 mock 测试
  2. 前端基础 & 初识HTML
  3. 斯坦福大学Andrew Ng - 机器学习笔记(6) -- 聚类 & 降维
  4. https-SSL请求
  5. 017-Hadoop Hive sql语法详解7-去重排序、数据倾斜
  6. 常用mongo语句
  7. spring下配置shiro
  8. solrcloud配置步骤
  9. windows中使用Findwindow函数与FindWindowEx函数来实现自动控制、触发第三方软件事件的方法
  10. C#类和结构(1)