第四章 ActiveMQ连接(Connector)配置 笔记

概述:broker(代理商)之间传递消息,以及broker和客户端传递消息,需要各种协议,也就是连接方式,本章就是涉及连接方式

本章涉及:

  • ConnectorURIs(URI统一资源标识符),标识代理商地址
  • Transport connectiors(传输连接),代理商暴露地址给客户端
  • Network connectors(网络连接),代理商之间消息传递
  • Discovery Agents(发现代理),发现集群中某些代理商
  • 介绍一些常用的连接器

4.1、理解连接器URIS

URIs就是统一资源标识符, 简单来说用一个字符串表示资源位置(在网络中是独一无二的)

规范:http://www.ietf.org/rfc/rfc2396.txt

它的格式为:<scheme>:<scheme-specific-part> ,例如 mailto:users@activemq.apache.org

或者格式为:<scheme>://<authority><path><?query>  例如:http://www.baidu.com?ara=0

例如ActiveMQ 常见: tcp://localhost:61616?trace=true

配置多个      static://(tcp://host1:61616,tcp://host2:61616)

4.2、配置传输连接器

配置文件在 {ActiveMQ HOME}/config/activemq.xml 里面的片段

<!-- The transport connectors ActiveMQ will listen to -->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
<transportConnector name="ssl" uri="ssl://localhost:61617"/>
<transportConnector name="stomp" uri="stomp://localhost:61613"/>
<transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
</transportConnectors>
<transportConnector>表示各种连接器, 以上有tcp 、ssl、stomp、xmpp

4.2.1. 使用传输连接器

4.2.2.使用网络协议

4.2.2.1 TCP协议(Transmission Control Protocol)

具体规范:http://tools.ietf.org/html/rfc793

语法:tcp://hostname:port?key=value&key=value
向配置文件添加:

<transportConnectors>
<transportConnector
name="tcp"
uri="tcp://localhost:61616?trace=true"
/>
</transportConnectors>

4.2.2.2. New I/O API 协议(NIO)
语法:nio://hostname:port?key=value

<transportConnectors>
<transportConnector
name="tcp"
uri="tcp://localhost:61616?trace=true" />¶
<transportConnector
name="nio"
uri="nio://localhost:61618?trace=true" />·
</transportConnectors>

4.2.2.3.使用UDP(User Datagram Protocol)
语法:udp://hostname:port?key=value

<transportConnectors>
<transportConnector
name="tcp"
uri="tcp://localhost:61616?trace=true"
/>
<transportConnector
name="udp"
uri="udp://localhost:61618?trace=true"
/>
</transportConnectors>

4.2.2.4.SSL(Secure Sockets Layer Protocol)

语法:ssl://hostname:port?key=value

Java Secure Socket Extension(JSSE)规范:

http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html

<transportConnectors>
<transportConnector
name="tcp"
uri="tcp://localhost:61616?trace=true"
/>
<transportConnector
name="ssl"
uri="ssl://localhost:61617?trace=true"
/>
</transportConnectors>

4.2.2.5 HTTP/HTTPS(Hypertext Transfer Protocol)

语法:http://hostname:port?key=value   或 https://hostname:port?key=value

<transportConnectors>
<transportConnector
name="tcp"
uri="tcp://localhost:61616?trace=true"
/>
<transportConnector
name="http"
uri="http://localhost:8080?trace=true"
/>
</transportConnectors>

4.2.3,使用虚拟机协议(Virtual Machine Protocol)

4.2.3.1. VM Protocol(虚拟机协议)

虚拟机内部嵌broker

语法:vm://brokerName?key=value

例如:vm://localhost?brokerConfig=xbean:activemq.xml    

4.3.配置网络连接器

4.3.1、定义Static网络

4.3.1.1. Static协议

语法   static:(uri1,uri2,uri3,...)?key=value

<networkConnectors>
<networkConnector name="local network"
uri="static://(tcp://remotehost1:61616,tcp://remotehost2:61616)"/>
</networkConnectors>

4.3.1.2. Failover 协议

语法:failover:(uri1,...,uriN)?key=value

当连接失败,连接其他url

例如:failover:(tcp://host1:61616,tcp://host2:61616)

4.3.2. 定义动态网络

4.3.2.1. Multicast 协议

通过IP分组发送消息

语法:multicast://ipaddress:port?key=value

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="multicast"
dataDirectory="${activemq.base}/data">
<networkConnectors>
<networkConnector name="default-nc" uri="multicast://default"/>
</networkConnectors>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
</transportConnectors>
</broker>

4.3.2.2. Discovery 协议

自动发现连接

语法:discovery:(discoveryAgentURI)?key=value
例如:discovery:(multicast://default)

4.3.2.3. Peer 协议

语法:peer://peergroup/brokerName?key=value

两个虚拟机内嵌broker之间通讯

4.3.2.4. Fanout 协议

表示同时向多个broker发送消息

语法:fanout:(fanoutURI)?key=value

例如:fanout:(static:(tcp://host1:61616,tcp://host2:61616,tcp://host3:61616))

fanout:(multicast://default)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值