ActiveMQ Transport Connectors

一,介绍

ActiveMQ的Transport Connectors 是什么?

ActiveMQ是一个消息服务器。作为消息服务器,就会有生产者和消费者来使用它。生产者将消息发送给ActiveMQ,消费者从ActiveMQ取消息。因此,不管是生产者还是消费者,都需要与ActiveMQ建立连接,从而交换消息。生产者和消息者都可以视为ActiveMQ的Client

ActiveMQ提供了很多种方式让Client连接它。比如,Client可以使用TCP、UDP、SSL、HTTP等多种方式连接到ActiveMQ,这些连接方式就是:Transport Connectors

由于在项目中用的是TCP连接方式,故这里主要记录下TCP Transport Connector的一些相关知识。

二,TCP Transport Connector

要想进行连接,需要一个地址(URI),配置TCP连接的URI格式如下:

query部分可以自带很多参数,这些参数是Transport Options,它们可以设置底层TCP传输的一些行为:比如,连接超时时间、TCP连接的队列大小....更多的Transport Options可参考官网

由于ActiveMQ支持多种不同的连接方式,故可以在其配置文件中看到相关的配置。配置文件是 conf/activemq.xml。下面就是我用到的ActiveMQ的配置文件:

可以看出,上面配置文件指出:ActiveMQ支持各种连接协议:TCP,AMQP,STOMP...其实这与上面提到的SSL、HTTP并不冲突,SSL、HTTP只是更底层罢了。

关于各个协议的具体介绍,可参考:

消息在网络之间是以字节流的形式传递的。因此,需要将消息序列化,那采用TCP形式的Connector时,它的序列化方式又是怎样的呢?

序列化的格式是由 wire 协议定义的。比如上图中的 openwire。关于wire协议的更多内容可参考官方文档

How messages are serialized from and to a byte-sequence is defined by the wire protocol.  the TCP transport connector is used to exchange messages serialized to OpenWire wire format over the TCP network.

时间: 2024-07-30 18:27:59

ActiveMQ Transport Connectors的相关文章

activemq 实战 四 传输连接器-Transport connectors 4.2

In order to exchange messages, producers and consumers (clients) need to connect to the broker. This client-to-broker communication is performed through transport connectors. ActiveMQ provides an impressive list of protocols clients can use to exchan

org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed

项目是使用activeMQ 发布订阅的模式,在本地测试正常,但是 放到服务器上出现这个错误: org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed 解决办法: 是因为缺少jar包,加上 hawtbuf-1.9.jar ,问题解决.

ActiveMQ持久化消息

ActiveMQ的另一个问题就是只要是软件就有可能挂掉,挂掉不可怕,怕的是挂掉之后把信息给丢了,所以本节分析一下几种持久化方式: 一.持久化为文件 ActiveMQ默认就支持这种方式,只要在发消息时设置消息为持久化就可以了. 打开安装目录下的配置文件: D:\ActiveMQ\apache-activemq\conf\activemq.xml在越80行会发现默认的配置项: <persistenceAdapter> <kahaDB directory="${activemq.da

ActiveMQ的receiveNoWait

Pending Queue Size ­ The number of messages in the queue that have yet to be delivered to any client Dispatched Counter ­ The number of message in the queue that have been delivered to a client, but not yet acknowledged Enqueue Counter ­ The number o

ActiveMQ Part 1 : 基本安装配置(windows 版本)

1. 安装启动服务 A) 首先下载并安装最新的 JDK(本文使用:jdk-8u66-windows-x64.exe) B) 从官网下载最新的安装包(本文下载版本为:http://activemq.apache.org/activemq-5143-release.html) C) 把安装包解压后,在解压目录中找到:\bin\win64\activemq.bat (32位机器则执行相应的 win32 目录下的 activemq.bat文件) 以管理员身份运行 activemq.bat,出现以下完整界

activemq分析(一)启动流程

activemq 启动是非常简单的. 如 1.从二进制发布包启动 On Windows: cd [activemq_install_dir] bin\activemq start 2.从源码方式启动 Main class    :    org.apache.activemq.console.Main arguments    :    start xbean:activemq2.xml 其中activemq2.xml内容一个最简单的配置文件 <beans   xmlns="http://

架构设计:系统间通信(25)——ActiveMQ集群方案(上)

1.综述 通过之前的文章,我们讨论了ActiveMQ的基本使用,包括单个ActiveMQ服务节点的性能特征,关键调整参数:我们还介绍了单个ActiveMQ节点上三种不同的持久化存储方案,并讨论了这三种不同的持久化存储方案的配置和性能特点.但是这还远远不够,因为在生产环境中为了保证让我们设计的消息服务方案能够持续工作,我们还需要为消息中间件服务搭建集群环境,从而在保证消息中间件服务可靠性和处理性能. 2.ActiveMQ多节点方案 集群方案主要为了解决系统架构中的两个关键问题:高可用和高性能.Ac

再谈Apache ActiveMQ 负载均衡

前面文章<Apache ActiveMQ 负载均衡 >在最后有提到一个场景,就是当AMQ的节点数大于2个的时候(HA + LB),且配置了消息回流的情况下的一些问题. HA + LB的基本结构如下图: 问题即发生在当生产者将消息投递到Master节点后(AMQ SERVER),消费者与A节点建立连接(Broker),根据AMQ的"预先消费"策略预先消费了一定数量的消息,即A节点消费了Master节点的一部分消息,A节点在将消息转发至消费者Consumer. 消费者在消费过程

ActiveMQ.xml文件的主要配置

ActiveMQ.xml文件默认位置位于 activemq/conf/目录下,主要的配置及解析如下:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.org/config/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati