java message service中消息consumer的部署方式

这几天下载了apache的activeMQ, 做了下试验:

1 ActiveMQ是独立用server方式运行的,也就是执行解压缩后bin目录下的activemq.bat。
2 试验代码用的消息生产者和消费者是在命令行中用不同线程完成生产和消费的动作的,尤其是,消费者是用异步的方式。

生产者和消费者作为独立进程(线程)通过标准的互联网协议(tcp://localhost:61616)同server(activeMQ)通信,所以,生产者和消费者是可以部署到任意机器上的。

现在考虑一下消费者的部署。之所以采用JMS的异步模式,就是为了在系统资源紧张的时候,把原本同步完成的耗时工作通过JMS在资源不紧张的时候异步完成。所以,最好是,当服务器得到一个消息,检测一下当前资源状态,如果很忙,就等待。如果不忙,就唤醒消费者完成消费的动作。消费者最好能部署到activeMQ中,由它来调度,这是最好的一种方式,比单独部署消费者为一个定时启动的进程要好的多。

但是我在activeMQ的文档中没有找到相关的信息。大家有什么看法?

补:

1 刚才想了想,其实把消费者部署到activeMQ中恐怕不是一种好的做法。为什么呢,我想起来有人说过,activeMQ实际上是一种负载均衡,load balancing,把逻辑计算部分和balancer放在一起显然不好。但是,对于我的例子,我还是希望放在一起,因为我可以省掉调度消费者的麻烦(例如,用cron去设定何时启动消费者进程等等)。总之,我想找标准的,被支持的方法。

2 我的生产者在tomcat中,不用JEE,所以不能将消费者用message driven Bean的方式部署在JEE容器里。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值