ActiveMQ是一个开源兼容Java Message Service (JMS) 1.1面向消息的中件间. 来自Apache Software Foundation. ActiveMQ提供松耦合的应用程序架构. 先来看两个应用经过RPC通信的紧耦合:html
经过面向消息的中件间, 架构演变为:web
咱们看到应用程序1发送message到中件间, 应用程序2从中件间接收message. ActiveMQ提供了灵活的应用程序架构. 数据库
ActiveMQ消息存储也是FIFO:apache
何时使用ActiveMQ:windows
1. 异构应用微信
ActiveMQ虽然为是JAVA平台的, 但它有不少客户端.C/C++, .NET, Perl, PHP, Python, Ruby, 同时ActiveMQ也是跨平台的.架构
2.替代RPC的解决方案并发
应用程序普遍地使用RPC风格调用实现同步. 不少C/S应用程序使用RPC包括ATMs, 大多数的web应用程序,信息卡系统,POS机等. 若是同步出现down机状况, 用户体验至关很差. 使用异步消息, 更多的消息接收者能更容易增长消息, 支持并发而且处理得更快. 这时,应用程序已经被解耦.异步
3.使得应用之间松耦合.分布式
前面已经提到了, 紧耦合有不少问题,特别是分布式状况下. 松耦合架构, 使得应用程序很灵活,, 也能够引导出event-driven architecture (EDA)
4.事件驱动构架的基石
解耦,异步风格的架构经过调优容许Broker伸缩来更进一步来处理至关多的客户端, 更可能是内存分配,等等 (称为垂直可伸缩性), 而不是仅依靠增长Broker节点的数目去处理不少更多客户端(称为水平可伸缩性) 的能力。
5.提升应用伸缩性
许多应用程序利用事件驱动构架为了获取更多的伸缩性, 例如电子商务, 政府, 制造业, 在线游戏. 这也是SOA的基石.
能够官方网站下载安装二进制包, 在windows上解包,能够到apache-activemq-5.10.0\bin\activemq.bat运行ActiveMQ程序, 而在Linux上的apache-activemq-5.10.0-bin.tar.gz
wget方式下载, tar zxvf activemq-x.x.x.tar.gz解包到一个目录就可使用了.
ActiveMQ可能须要如下端口1099(JMX),61616(默认的TransportConnector)
windows查看监听端口:
netstat -an|find "
61616
"
Linux系统:
netstat -an|grep
61616
运行后能够打开web控制台:
在这儿,咱们介绍一下.net下客户端, 从NuGet安装,
Install-Package Apache.NMS.ActiveMQ
Apache.NMS.ActiveMQ客户端还有一些高级特性:
1. 消息组
2.ActiveMQ steams
3. Blog message
4.Failover
5.计划与延迟消息提交.
6 异步发送
因为篇幅有限,今天介绍到这儿, 但愿对您软件开发有帮助. 您可能感兴趣的文章:
若有想了解更多软件开发资讯,请关注个人微信订阅号:
做者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
该文章也同时发布在个人独立博客中-Petter Liu Blog。