JMS学习(二)之ActiveMQ-阿里云开发者社区

开发者社区> 技术mix呢> 正文

JMS学习(二)之ActiveMQ

简介:
+关注继续查看

1,ActiveMQ是Apache实现的基于JMS的一个消息服务器。下面记录ActiveMQ的一些基本知识。

2,ActiveMQ connectors:ActiveMQ providesconnectors, a connectivity mechanism that provides client-to-broker communications as well as broker-to-broker communications.

connectors是一种连接机制,提供client 到 broker 的连接,以及 borker 之间的连接。 broker可以理解为消息服务器。

 

3,一些 connectivity concepts :

1) Connector URIs, that make it possible to address brokers---Client要想连接到消息服务器,需要知道服务器的地址,即Connector URIs

ActiveMQ中默认配置好的一个URI是 tcp://localhost:61616,它就表示在61616端口上创建一个TCP连接到localhost

在ActiveMQ中 TCP连接支持自动重连。通过配置 composite URIs 实现自动重连。

 

2) Transport connectors, which are used to expose brokers to clients---Client连接消息服务器时,使用Transport connectors进行连接

在ActiveMQ的配置文件 conf/activemq.xml 中配置connectors。

可以修改<transportConnector>添加新的连接。修改配置文件后,需要重启ActiveMQ生效。

Client连接Broker可用的协议有:

1)Tcp协议。提供可靠连接

wire protocol:How messages are serialized from and to a byte-sequence is defined by the wire protocol.

由于网络之间只能传输字节流,故需要序列化。wire protocol 就是用来定义序列化方式的。ActiveMQ中默认的 wire protocol 是OpenWire.

OpenWire main purpose is to be network efficient and allow fast exchange of messages over the network.

总之,就是 the TCP transport connector is used to exchange messages serialized to OpenWire wire format over the TCP network.

2)NIO New I/O API Protocol

对于NIO,它底层还是使用TCP传输协议,并使用OpenWire作为序列化协议。但是 transport connector 的实现使用的是 NIO API。使用NIO的好处如下:

You have a large number of clients you want to connect to the broker。---支持大量的客户端连接,因为相对于TCP Transport connector,NIO connector处理的每个client所需要的线程很少。

You have a heavy network traffic to the broker。---当网络流量较大时,也可以使用NIO

配置使用NIO的示例图如下:

 可以看出,基本与TCP配置一致,只是NIO所用的端口为61618

 

3) Network connectors, which are used to create networks of brokers---提供 各个 broker 之间的连接

4) Discovery Agents, that allow the discovery of brokers in a cluster

 本文转自hapjin博客园博客,原文链接:http://www.cnblogs.com/hapjin/p/5434566.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微信开发系列之三 - 在微信公众号里发起SAP C4C Account的创建
微信开发系列之三 - 在微信公众号里发起SAP C4C Account的创建
4 0
使用jMeter测试通过SAP ID Service认证的SAP Cloud API
使用jMeter测试通过SAP ID Service认证的SAP Cloud API
5 0
一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
4 0
基于RPA的自动化优先,正在成为广大组织的主流管理思维
什么是自动化优先思维?它与RPA有什么关系?因何正在成为企业管理主流思维?
6 0
两个SAP UI5脚手架应用加载性能的比较
两个SAP UI5脚手架应用加载性能的比较
2 0
如何在Android平台上创建自定义的Cordova插件并使用SAP UI5消费
如何在Android平台上创建自定义的Cordova插件并使用SAP UI5消费
3 0
阿里开源的这个库,让 Excel 导出不再复杂(既要能写,还要写的好看)
前文 聊了 EasyExcel 的内容导出,本文主要说一下导出文件的格式化,格式化包括工作表/单元格样式和内容格式化。毕竟,有时候还是要看脸。
8 0
SAP UI5 Custom Cordova plugin的调试方法
SAP UI5 Custom Cordova plugin的调试方法
7 0
微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
微信开发系列之六 - 使用微信OAuth2 API读取微信用户信息,显示在SAP UI5里
3 0
阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)
导出是中后台常见的功能,Excel文件是常见的导出格式。
7 0
+关注
2969
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载