spring-rabbitMQ

 
//------------------------  消息队列  message queue

     “消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。
队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。


  队列定义?
   队列是一个“先进先出”容器。你放东西的顺序也取东西的顺序。LinkedList有支持队列功能的方法,所以它也能当作队列来使用。
   队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表

  优点:解耦  冗余 扩展性  灵活性 & 峰值处理能力  可恢复性  送达保证 排序保证 缓冲  理解数据流 异步通信
 
 
  消息传递:
  为了实现负载均衡,可以
  在消费者端通知RabbitMQ,一个消息处理完之后才会接受下一个消息。

 
  RabbitMQ与SpringMVC集成 实现发送消息队列
   http://my.oschina.net/never/blog/140368 
   http://lynnkong.iteye.com/blog/1699684
   http://demo.netfoucs.com/congcong68/article/details/39693115
  
   RabbitMQ是消息代理——一个消息传递的中介。它给您的应用程序中一个共同的平台来发送和接收消息,和一个安全的地方住,
   直到收到你的消息。
  
   Broker:简单来说就是消息队列服务器实体。
   Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
   Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
   Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
   Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
   vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
   producer:消息生产者,就是投递消息的程序。
   consumer:消息消费者,就是接受消息的程序。
   channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

  
   消息队列的使用过程大概如下:
   (1)客户端连接到消息队列服务器,打开一个channel。
   (2)客户端声明一个exchange,并设置相关属性。
   (3)客户端声明一个queue,并设置相关属性。
   (4)客户端使用routing key,在exchange和queue之间建立好绑定关系。
   (5)客户端投递消息到exchange。
     
  
  
  
      工作流程:
    当客户端启动时,它创建了匿名的exclusive callback queue.
    客户端的RPC请求时将同时设置两个properties: reply_to设置为 callback queue; correlation_id 设置为每个request一个独一无二的值.
    请求将被发送到an rpc_queue queue.
    RPC端或者说server一直在等待那个queue的请求。当请求到达时,它将通过在reply_to指定的queue回复一个message给client。
    client一直等待callback queue的数据。当message到达时,它将检查 correlation_id 的值,如果值和它request发送时的一致那么就将返回响应。
   
   安装 RabbitMq 消息队列:
    1, 下载 安装 Erlang   【Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。】
    运行直接安装,更换安装目录,  配置环境变量 ERLANG_HOME C:\Program Files (x86)\erl5.9  添加到PATH  %ERLANG_HOME%\bin;
    2, 下载 安装 RabbitMQ
    运行直接安装,更换安装目录,    配置环境变量 D:\Program Files\RabbitMQ Server\rabbitmq_server-2.8.0
    添加到PATH %RABBITMQ_SERVER%\sbin;
    到  D:\Program Files\RabbitMQ Server\rabbitmq_server-2.8.0\sbin 运行 rabbitmq-service.bat
   运行:
   找到sbin/目录,运行程序:
   /usr/local/sbin/rabbitmq-server –detached

   停止程序:
   /usr/local/sbin/rabbitmqctl stop
   
   rabbitmq-plugins.bat list查看已安装的插件列表
   rabbitmq-plugins.bat enable rabbitmq_management 命令开启网页版控制台。

   访问 http://localhost:15672/    登陆 : 用户 guest ,密码 guest
   
   
   springMVC 结合 RabbitMQ 消息队列
   端口:5672 ,用户 guest ,密码 guest
  
   

你可能感兴趣的:(spring-rabbitMQ)