See You Again

activemq使用

activemq是JMS(Java Message Service)的一种实现,是Apache出品消息中间件产品,使用它可以在不同的应用之间进行异步消息通讯。有人列出了一些典型的应用场景:

新手可能会觉得比较抽象,因为这种mq产品一般用在中大型的应用中,它可以帮助提高应用的松耦合性、扩展性、可靠性,它可以理解为像memcached一样的基础服务组件。下面看一下它的安装部署及使用方法:

安装部署

官网下载最新的包,然后解压到一个目录(例如:~/local)即可,后台启动这个服务:

  1. cd ~/local/apache-activemq-5.14.1/bin && ./activemq start

此时使用了默认的配置,它会有两个服务,一个是61616端口的activemq服务,一个是8161的Web管理后台,查看启动的服务进程:

  1. apache-activemq-5.14.1 ps -ef |grep active
  2. root 11073 1 2 20:44 pts/0 00:00:12 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/root/local/apache-activemq-5.14.1//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/root/local/apache-activemq-5.14.1//tmp -Dactivemq.classpath=/root/local/apache-activemq-5.14.1//conf:/root/local/apache-activemq-5.14.1//../lib/: -Dactivemq.home=/root/local/apache-activemq-5.14.1/ -Dactivemq.base=/root/local/apache-activemq-5.14.1/ -Dactivemq.conf=/root/local/apache-activemq-5.14.1//conf -Dactivemq.data=/root/local/apache-activemq-5.14.1//data -jar /root/local/apache-activemq-5.14.1//bin/activemq.jar start

如果想启动多一个实例,需要修改一些配置:

改完配置,现在可以启动自己的服务了。其他属性配置可以自己去了解。从配置文件里可以看出 activemq支持很多种消息协议,openwire、amqp、stomp、mqtt、ws等,貌似没有直接支持http。

使用

首先登陆(admin/admin)到管理后台 http://localhost:8161/admin/

在这里后台可以新建队列、往队列里发送消息、查看等。一般是通过编程的方式进行消息的处理,这个后台更多是查看运行状态。
从这里可以看出,这个mq实现的是一个生产者/消费者模型(一对一)、发布/订阅模型(一对多),如果你的应用有用到这两种模型,不妨考虑用这个组件去重构下。这种中间件产品通过简单的部署即可提供稳定可靠的服务,推荐在业务中使用。

2016-10-28 喜欢

Copyright © 2015-2018 转载请注明出处

回到顶部 ↑