(五)--ActiveMQ的传输协议_"transportconnector name=\"ws\" uri="-程序员宅基地

技术标签: ActiveMQ  

一. 面试题

默认的61616端口如何修改?
你生产上的链接协议如何配置的? 使用TCP吗?

二. 官网

官方描述各种主要协议

1. 是什么

ActiveMQ支持的client-broker通讯协议有: TCP 、 NIO、UDP、SSL、Http(s)、VM。其中配置Transport Connector的文件在activeMQ安装目录的conf、activemq.xml中的< transportConnectors> 标签之内

vim activemq.xml
在这里插入图片描述

<transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
    <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>

在上文给出的配置信息中,
URI描述信息的头部都是采用协议名称:例如

描述amqp协议的监听端口时, 采用的URI描述格式为"amqp://…"
描述Stomp协议的监听端口时, 采用的URI描述格式为"stomp://…"

唯独在进行openwire协议描述时,URI头却采用的"tcp://..."

这是因为ActiveMQ中默认消息协议就是openwire

2. 有哪些协议?

2.1 Transmission Control Protocol(TCP)我是默认

  1. 这是默认的Broker配置, TCP的Client监听端口61616
  2. 在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流.
  3. TCP连接的URI形式如: tcp://hostname:port?key=value&key=value,后面的参数是可选
  4. TCP传输的优点:
    4.1 TCP协议传输可靠性高,稳定性强
    4.2 高效性: 字节流方式传递,效率很高
    4.3 有效性,可用性: 应用广泛,支持任何平台
  5. 关于Transport协议的可配置参数可以参考官网

2.2 New I/O API Protocol(NIO)

New I/O API Protocol(NIO)

  1. NIO协议和TCP协议类似但NIO更侧重于底层的访问操作,它允许开发 人员对同一资源可有更过的client调用和服务端有更多的负载.
  2. 适合使用NIOO协议的场景:
    2.1 可能有大量的Client去连接到Broker上,一般情况下,大量的Client去连接Broker是被操作系统的线程所限制的,因此NIO的实现比TCP需要更少的线程去运行, 所以建议使用NIO协议
    2.2 可能对于Broker有一个很迟钝的网络传输, NIO比TCP提供更好的性能

2.3 NIO连接的URI形式: nio//hostname:port?key=value

2.4 Transport Connector 配置示例,参考官网

2.3 AMQP协议

2.4 stomp协议

2.5 Secure Sockets Layer Protocol(SSL)

2.6 mqtt

2.7 ws协议

在这里插入图片描述
在这里插入图片描述

3. NIO案例演示

3.1 修改配置文件activemq.xml

<transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61618"?trace=true/>  
</<transportConnectors>

如果不特别指定ActiveMQ的网络监听端口,那么这些端口都将使用BIO网络IO模型.(OpenWire, STOMP, AMQP…)
所以为了首先提高单节点的网络吞吐性能,我们需要明确指定Active的网络IO模型.
如下所示:URI格式头以"nio"开头,表示这个端口使用以TCP协议为基础的NIO网络IO模型
在这里插入图片描述

3.2 生产和消费两端协议代码修改

public static final String ACTIVEMQ_URL = "nio://192.168.249.88:61618";

查看网络协议
在这里插入图片描述

3. NIO案例演示增强

在这里插入图片描述
使用auto关键字,使用"+"符号来为端口设置多种特性

<transportConnector name="auto+nio" uri="auto+nio://localhost:5671"/>

如果我们既需要某一个端口支持NIO网络模型, 又需要它支持多个协议

<transportConnector name="auto+nio" uri="auto+nio://0.0.0.0:61608?
	maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;
	org.apache.activemq.transport.nio.SelectorManager.corePoolSize=20&amp;
	org.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=50"/>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34403607/article/details/104399076

智能推荐

两个单向循环链表的合并(带头结点)_合并单向循环链表la和lb。-程序员宅基地

文章浏览阅读5.1k次,点赞7次,收藏47次。两个单向循环链表的合并(带头结点)问题引入:已知两个带头结点的单向循环链表,LA和LB分别是链表的头指针,LA=(a1,a2…am),LB=(b1,b2,…bm),编写算法,将LA和LB合并成一个单项循环链表LC=(a1,a2…am,b1,b2,…bm)。核心算法:只需要修改两个表的表尾结点让两个表连起来即可。最后释放多余的LB这个头结点typedef struct node { DataType data; struct node *next;}*LSNode;//两个带头结点的单向循_合并单向循环链表la和lb。

tkinter绘制组件(14)——选值框_tkinter 选择框-程序员宅基地

文章浏览阅读1.4k次。tkinter绘制组件(14)选值框_tkinter 选择框

基于Springboot+vue的人事管理系统(源代码+数据库+8000字文档) 054_人力资源vue源码-程序员宅基地

文章浏览阅读1.1k次。本项目分为管理员与普通用户两种角色管理员角色包含以下功能:- 首页 Echarts图表,个人考勤、员工基本信息- 系统管理 文件管理,员工管理,部门管理,部门管理- 权限管理 角色管理,菜单管理- 薪资管理 五险一金,参保城市,工资管理- 考勤管理 请假审批,考勤表现用户角色包含以下功能:- 个人信息 修改密码,修改个人信息- 请假管理 请假申请## 二、所用技术- 前端技术栈- Vue、Axios、ElementUI、Vue-Router、V_人力资源vue源码

大厂真题泄漏:高频自动化测试面试题,看完面试成功率高达99%_文字描述如何组织一个框架去对一个ui自动化测试(1)-程序员宅基地

文章浏览阅读671次,点赞7次,收藏8次。没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了。我们公司就买了, 魅族, 华为, 小米, iphone7、 iphone8 、 iphone8plus 、 iphone x 测试兼容性,有些没有的机型,先借用同事的手机进行测试,同时申请公司购买,或者采用云真机。本题主要考情商,通俗来说就是忽悠能力,先唬住面试官了再说,进去了也是瞎测测,随时做好背锅的准备,当然,你肯定不能回答面试官不测(心理mmp,脸上笑嘻嘻),接下来就是扯犊子时间。

助力智慧农业、数字乡村,北京佳格天地与农业农村部信息中心达成战略合作-程序员宅基地

文章浏览阅读349次,点赞10次,收藏7次。以此次战略合作为契机,佳格天地将充分整合双方在资源、经验及技术等方面的优势,在农业农村部信息中心指导下,推动数字技术加快融入农业全产业链、促进一二三产融合发展,为实现乡村全面振兴、建设农业强国提供更加丰富、更具应用推广价值的解决方案及产品。销售环节,针对农产品品牌不强、销售受限等问题,佳格天地打造了农产品品牌数字化营销方案,通过线上线下宣传资源整合、销售端数据分析等举措,助力农产品品牌打造与销售策略优化工作,以品牌促销售、以销售反哺生产,推动农产品产销有效衔接。

Qt--模拟按下按键(键盘)_qt按下一个按钮实现按某个键-程序员宅基地

文章浏览阅读6.5k次,点赞5次,收藏31次。一、前言最近在做QWT开发的时候碰到一个问题,QwtPlotZoomer提供的放大、缩小操作只支持鼠标事件或键盘事件,但是我希望通过点击软件上的按钮去响应放大、缩小操作,但是事件槽函数不是我写的,不知道怎么调用,所以就只能给放大、缩小操作写一个快捷键了。例如:点击键盘I键放大、O键缩小,然后只需要在软件按钮槽函数中模拟按下了I键和O键,就可以响应相应的放大、缩小操作了。二、具体操作//模拟按下键盘I键QWidget *receiver = QApplication::focusWidget();_qt按下一个按钮实现按某个键

随便推点

性能基础之速读【性能之巅:洞悉系统、企业与云计算】_重新传输的数据包 netstat-程序员宅基地

文章浏览阅读184次。引言综合来讲,这是一本介绍方法论的书,作者通过概念、模型、观测、实验手段来进行问题的剖析。另外本书的涉及范围之广,从内存、CPU、文件系统、存储硬件、网络等各个方面。并且本书通常以一个实例入手,深入的介绍系统原理,特别是在一些重点细节上,往往有超出一般的认识和方法。本书函盖范围太广,更适合作为工具书时常翻阅,所以在阅读过程中也关注自己当前需要的方面。第一章 绪论系统性能是对整个系统的研究,包括了所有的硬件组件和整个软件栈。所有数据路径上和软硬件上所发生的事情都包括在内,因为这些都有可能影响.._重新传输的数据包 netstat

视频教程-红帽RHCA架构师(云计算方向)-Ceph存储架构和管理-精讲-Linux-程序员宅基地

文章浏览阅读774次。红帽RHCA架构师(云计算方向)-Ceph存储架构和管理-精讲 10年Lin..._ceph125-rhcs3.0 pdf

2022完整iOS APP发布App Store上架流程指南_app store构建版本没有加号-程序员宅基地

文章浏览阅读9.5k次,点赞4次,收藏27次。iOS APP上架需要创建一个APP ID、申请iOS发布证书、再用iOS证书打包IPA,然后在上传IPA到App Store上架过程分七个步骤,按步骤一步步来,清晰了步骤就跟简单了_app store构建版本没有加号

js生成随机十六进制颜色_js随机产生一个16进制颜色-程序员宅基地

文章浏览阅读1.3k次。生成随机十六进制颜色 <script> function randomHexColor() { //随机生成十六进制颜色 var hex = Math.floor(Math.random() * 16777216).toString(16); //生成ffffff以内16进制数 while (hex.length < 6) { //wh_js随机产生一个16进制颜色

中断之中断向量表IDT的初始化_对中断向量表进行初始化-程序员宅基地

文章浏览阅读6k次。中断的初始化是在哪里完成的呢?是在start_kernel()中:512 trap_init();535 /* init some links before init_ISA_irqs() */536 early_irq_init();537 init_IRQ(); //最终调用native_init_IRQ,由它来完成主要工作。中断向量表的初始化_对中断向量表进行初始化

思科启用RIPv2 认证-程序员宅基地

文章浏览阅读528次。对RIP 的数据包进行认证增加安全性Router1#configure terminalRouter1(config)#key chain ORARouter1(config-keychain)#key 1Router1(config-keychain-key)#key-string neoshiRouter1(config-keychain-ke..._rip v2路由领居认证 思科