RabbitMQ

来源:互联网 发布:informix 端口 编辑:程序博客网 时间:2024/05/16 10:24

         RabbitMQ:一个很好的东西,也是近期在做云管理平台的时候自己用到的。使用它的主要原因是项目要求各个组件的扩展性,所有组件松耦合,同时涉及到的组件也比较多多,需要有异步通信解决方案,解决各种组件之间的消息传递。

       RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。

    其在使用方式上有蛮多种,这个大家可以参考其官网的解说及简单示例(https://www.rabbitmq.com/tutorials/tutorial-three-python.html),基本都还比较好理解。教程涵盖了使用RabbitMQ的创建消息应用程序的基础知识。如下六种介绍:


     我使用的是最后一种,和其他两个模块公用一个RabbitMQ,设置自己的Exchage和QueueName,结合Spring框架,写了一个Message监听方法,在MQ启动时就开始一直监听跟其他模块协商好的队列,当监听到约定的Json格式消息时就进行处理,并将处理的结果返回到MQ的一个临时队列。该临时队列名称是由每次publisher发送消息时在消息头里面传递过来的,当对方监听到这个临时队列有消息传回时,会自动消费掉该消息,该临时队列也跟着消亡。

   想了解更详细的,亲们可以在官网上多看看,自己在本地装一个RabbitMQ玩一下(需要单独下载Erlang安装包支持),服务端和客户端的代码都可以从官网上找一些,加上自己的配置,结合web页面可以更好的学习理解其用法和适用场景。


另外,也跟大家推荐一个链接,这是个牛人写的,非常不错,也比较全,还分析的当前比较潮流的开源云OS Openstack中的实际应用。链接见:http://lynnkong.iteye.com/blog/1699684

0 0
原创粉丝点击