为什么使用消息队列
1、解耦:降低系统与系统之间的耦合。
2、异步:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。
3、消峰:系统慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。
消息队列的缺点
1、系统的负责度增加:你想啊,本来其他系统只要运行好好的,那你的系统就是正常的。现在你非要加个消息队列进去,那消息队列挂了,你的系统不是呵呵了。因此,系统可用性降低。
2、可用性降低:要多考虑很多方面的问题,比如一致性问题、如何保证消息不被重复消费,如何保证保证消息可靠传输。因此,需要考虑的东西更多,系统复杂性增大。
ActiveMq 简介
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。
ActiveMq 安装
下载地址 http://activemq.apache.org/download.html
进入下载页
下载相应的安装包
windows
解压 apache-activemq-5.15.6-bin.zip 进入bin目录后
进入相应的系统类型目录,运行 activemq.bat
进入后台管理界面 http://localhost:8161/admin/
linux
将文件 apache-activemq-5.15.5-bin.tar.gz 拷贝到 /usr/local/activemq 目录
解压 tar -zxvf apache-activemq-5.15.5-bin.tar.gz
cd apache-activemq-5.15.5/bin
./activemq start
netstat -anp | grep 61616