一、软件简介
ActiveMQ是apache开源的消息服务队列,支持多语言和跨客户协议,完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,ActiveMQ可以很方便的集成到使用Spring框架中,相比于基于RPC通讯的紧耦合,ActiveMQ提供松耦合的应用程序架构
1. 异构应用@b@@b@ ActiveMQ虽然为是JAVA平台的, 但它有很多客户端.C/C++, .NET, Perl, PHP, Python, Ruby, 同时ActiveMQ也是跨平台的.@b@@b@2.替代RPC的解决方案@b@@b@ 应用程序广泛地使用RPC风格调用实现同步. 很多C/S应用程序使用RPC包括ATMs, 大多数的web应用程序,信息卡系统,POS机等. 如果同步出现down机情况, 用户体验相当不好. 使用异步消息, 更多的消息接收者能更容易增加消息, 支持并发并且处理得更快. 这时,应用程序已经被解耦.@b@@b@3.使得应用之间松耦合.@b@@b@前面已经提到了, 紧耦合有很多问题,特别是分布式情况下. 松耦合架构, 使得应用程序很灵活,, 也可以引导出event-driven architecture (EDA)@b@@b@4.事件驱动构架的基石@b@@b@解耦,异步风格的架构通过调优允许Broker伸缩来更进一步来处理相当多的客户端, 更多是内存分配,等等 (称为垂直可伸缩性), 而不是仅依靠增加Broker节点的数目去处理很多更多客户端(称为水平可伸缩性) 的能力。@b@@b@5.提高应用伸缩性@b@@b@许多应用程序利用事件驱动构架为了获取更多的伸缩性, 例如电子商务, 政府, 制造业, 在线游戏. 这也是SOA的基石.
二、软件界面
默认界面管理地址如下图所示http://localhost:8161/admin/,点击在线体验演示,默认账密:admin/admin
启动脚本/root/amq1_restart.sh,内容如下,执行sh ~/amq1_restart.sh启动或重启
sh /root/shell/activemqkill.sh activemq1
关联脚本activemqkill.sh,内容如下
#!/bin/bash@b@KEY=$1@b@@b@if [ -z $KEY ]@b@then@b@ echo "No process key words specified!"@b@ echo "Usage: $0 process_key_words"@b@ exit 1@b@fi@b@@b@PID='ps -ef|grep $KEY|grep -v $0|grep -v grep|awk '{print $2}''@b@kill -9 $PID@b@@b@ @b@sleep 5@b@sh /usr/local/$1/bin/activemq start
三、部署方式
ActiveMQ提供了master-slave、broker cluster等多种部署方式,来满足应用高可用及高并发集群等需求
1. Master-Slave部署方式
① shared filesystem Master-Slave部署方式
主要是通过共享存储目录来实现master和slave的热备,所有的ActiveMQ应用都在不断地获取共享目录的控制权,哪个应用抢到了控制权,它就成为master
② shared database Master-Slave方式
与shared filesystem方式类似,只是共享的存储介质由文件系统改成了数据库而已。
③ Replicated LevelDB Store方式
这种主备方式是ActiveMQ5.9以后才新增的特性,使用ZooKeeper协调选择一个node作为master。被选择的master broker node开启并接受客户端连接。
2. Broker-Cluster部署方式
前面的Master-Slave的方式虽然能解决多服务热备的高可用问题,但无法解决负载均衡和分布式的问题。Broker-Cluster的部署方式就可以解决负载均衡的问题
四、相关下载
apache-activemq-5.13.0-bin.tar.gz,本地下载,网盘下载
tar -xzvf apache-activemq-5.13.0-bin.tar.gz -C /usr/local/@b@mv /usr/local/apache-activemq-5.5.0 /usr/local/activemq@b@cd /usr/local/activemq/bin/@b@vim activemq@b@更改ACTIVEMQ_OPTS_MEMORY的配置为ACTIVEMQ_OPTS_MEMORY="-Xms256M -Xmx384M -XX:PermSize=256M -XX:MaxPermSize=384M"@b@/usr/local/activemq/bin/activemq start @b@完成后添加/usr/local/activemq/bin/activemq start到自启动@b@配置好后可以登录监控管理页面去看队列情况,默认登录账号密码:admin/admin@b@http://127.0.0.1:8161/admin/queues.jsp
��