简单地说,使用 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

配置标准的 ActiveMQ 组件的更多相关文章

  1. [转]使用 Angular CLI 和 ng-packagr 构建一个标准的 Angular 组件库

    使用 Angular CLI 构建 Angular 应用程序是最方便的方式之一. 项目目标 现在,我们一起创建一个简单的组件库. 首先,我们需要创建一个 header 组件.这没什么特别的,当然接下来 ...

  2. 关于linux中的目录配置标准以及文件基本信息

    关于Linux中的目录配置标准 在查看docker.k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard ...

  3. Cisco基础(四):配置标准ACL、配置扩展ACL、配置标准命名ACL、配置扩展命名ACL

    一.配置标准ACL 目标: 络调通后,保证网络是通畅的.同时也很可能出现未经授权的非法访问.企业网络既要解决连连通的问题,还要解决网络安全的问题. 配置标准ACL实现拒绝PC1(IP地址为192.16 ...

  4. iOS 高效灵活地配置可复用视图组件的主题

      本文首发于 Ficow Shen's Blog,原文地址: iOS 高效灵活地配置可复用视图组件的主题.   内容概览 前言 如何配置主题? 如何更高效地配置主题? 面向协议/接口的方案     ...

  5. ActiveMQ组件使用方法

    由于组件使用了spring,故需要相关的spring包及配置 首先,需要加载对应的jar包 然后,编写调用类 package com.demo.testSpring; import com.jfina ...

  6. K3中间层配置不成功 kdsvrmgr组件不工作 问题 客户端需要检查的设置

    苏州K3刘保平电脑安装的K3装有中间层组件,导致中间层死配都配不成功  以后中间层配置不成功的时候除了检查能否访问K3服务器之外,还要检查一下是否安装了中间层http://wenku.baidu.co ...

  7. 编写一个可配置的网页信息提取组件 (二)—— 优雅的.net core 配置系统

    引言 在上篇文章(http://www.cnblogs.com/lightluomeng/p/7212577.html)中,初步实现了一个可配置的网页信息分析组件.但是由于是奔着解决事情的目的去的,所 ...

  8. 6.安装和配置OpenStack图片服务组件

    安装和配置图片服务组件 这里是安装在控制器上 安装和配置图片服务组件 yum install –y openstack-glance python-glanceclient 编辑/etc/glance ...

  9. vue创建路由,axios前后台交互,element-ui配置使用,django contentType组件

    vue中创建路由 每一个vue组件都有三部分组成 template:放html代码 script:放js相关 style:放css相关 vue中创建路由 1.先创建组件 Course.vue 2.ro ...

随机推荐

  1. pymysql连接数据库,实现数据库增删改查

    1.数据库连接 # 创建连接 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306 ...

  2. CSDN论坛停站维护公告

    各位亲爱的用户:         CSDN论坛将于2014年11月9日23点至11月10日8点进行积分系统的升级,升级期间会影响大家的正常訪问和操作.给大家带来不便,敬请广大用户谅解.         ...

  3. br_netfilter 模块开机自动方法

    环境 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 在/etc/sysctl.conf中添加: net.bridge.bri ...

  4. vue_router打包(webpack)

    把组件按组分块 有时候我们想把某个路由下的所有组件都打包在同个异步 chunk 中.只需要 给 chunk 命名,提供 require.ensure第三个参数作为 chunk 的名称: require ...

  5. 每天一个Linux命令(62)rcp命令

        rcp代表"remote file copy"(远程文件拷贝).     (1)用法:     用法:  rcp [参数] [源文件] [目标文件]     (2)功能: ...

  6. $用python实现快速排序算法

    本文主要介绍用python实现基本的快速排序算法,体会一下python的快排代码可以写得多么简洁. 1. 三言两语概括算法核心思想 先从待排序的数组中找出一个数作为基准数(取第一个数即可),然后将原来 ...

  7. Linux 函数库

    概述 函数库其实就是函数,只不过是系统所调用的函数.这样说吧,我写了一个软件,所有的功能都需要我自己完成吗?其实是不需要的,因为很多功能是别人已经写好的,我只需要拿来用就好了.这些有独立功能并且可以被 ...

  8. Shell 语句

    一 test 测试: 测试命令 test [ ] [[ ]] (( ))打开man test 逐一介绍每个参数 浮点计算:echo 'scale=2;1/3'|bc -l  测试操作命令执行后会返回到 ...

  9. nodejs异步调用async

    犹豫nodejs是异步编程模型,有一些在同步编程中很容易做到的事情,现在却变得很麻烦,async的流程控制就是为了简化这些操作var async = require('async'); 1.serie ...

  10. 在unity 中,使用http请求,下载文件到可读可写路径

    在这里我用了一个线程池,线程池参数接收一个带有object参数的,无返回值的委托 ,下载用到的核心代码,网上拷贝的,他的核心就是发起一个web请求,然后得到请求的响应,读取响应的流 剩下的都是常见的I ...