ActiveMQ支持的传输协议与activemq的持久化存储 zookeeper与activemq整合

activemq支持的协议:

client端broker端的通讯协议:

TCP、UDP、NIO、UDP、SSL、HTTP(S)、vm

可以在activemq.xml的配置文件中增加NIO协议进行传输消息的组件.

在<transportConnectors>这个标签当中增加下面这样的协议,注意端口重新定义,不要和已有的重复

<transportConnector name="nio" uri="nio://0.0.0.0:61618?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>


然后在 JmsSender文件当中更改 ConnectoryFactory指定的端口

ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("" +
        "nio://192.168.159.136:61618?jms.optimizeAcknowledge=true");

另外一段JmsReceiver 当中也更改为这样的端口

重新测试,依然正常传送消息。

项目源代码:https://github.com/q907364606/activemq_and_spring

activemq的持久化存储

 a)kahadb

 b)AMQ

 c)内存

 d)levelDB

使用  zookeeper和 activemq进行整合,需要在三台linux上安装 activemq

首先先要将 activemq中的静态网络连接先取消掉。

<!--
        <networkConnectors>
                <networkConnector uri="static://(tcp://192.168.159.136:61616,tcp://192.168.159.135:61616)" />
        </networkConnectors>
        -->

然后把消息回流这个也取消掉(注释掉即可)。

 <!--  设置消息回流  
                        <policyEntry queue=">" enableAudit="false" > 设置成false之后它认为消息可以被继续消费   
                                <networkBridgeFilterFactory>
                                        <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true"/>
                                </networkBridgeFilterFactory>
                        </policyEntry>
                        -->

在persistenceAdapter标签中配置下面的内容

<replicatedLevelDB directory="${activemq.data }/leveldb"  
                        replicas="3" bind="tcp://0.0.0.0:61615" 
                        zkAddress="192.168.159.136:2181,192.168.159.135:2181,192.168.159.137:2181"
                        hostname="192.168.159.136"
                        zkPath="/activemq/leveldb"
                 />

zkAddress:zookeeper集群的机器节点      hostname:本地主机的地址     zkPath:在zookeeper当中写入的路径名

directory:levelDB数据文件的存储位置    replicas:(replicas/2)+1 使用这个公式计算出节点必须存在的个数,否则运行就是失败的。   bind:用来同步数据的端口和ip  

三台linux的activemq都更改这个配置 hostname不一样


然后先进行zookeeper的集群工作,zookeeper的集群详细见另外一篇博客文章。

https://blog.youkuaiyun.com/baidu_24545901/article/details/79924289

然后启动zookeeper,然后再启动三台 activemq

如果 zookeeper和 activemq集群成功,那么登录任何一台的zookeeper,会出现下面的 zkPath中的路径的zookeeper节点


    






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值