RabbitMQ的组成、原理、安装、和eclipse的整合

一、RabbitMQ技术介绍
`  RabbitMQ是在AMQP协议标准基础上完整的、可服用的企业消息系统,是采用 Erlang 实现的工业级的消息队列服务器。
  这里的AMQP(Advanced Message Queuing Protocol)高级消息队列协议,是一个异步消息传递所使用的应用层协议规范。AMQP 客户端不管消息的来源,可以做到任意发送和接受信息。AMQP的目标是为通用消息队列架构提供通用构建工具。
  AMQP当中的四个概念:
     虚拟主机(virtual host)、
    交换机(exchange)、
    队列(queue)、
    绑定(binding,也叫路由规则)。
  
  四个模块之间的联系:
  一个虚拟主机中会有一个或多个交换机、队列和绑定。*存在多个虚拟主机是因为RabbitMQ中用户只能在虚拟主机的粒度进行权限控制,如果不想让两个组的交换机/队列/绑定互相访问,那么两个组就需要放在两个虚拟主机中。每一个RabbitMQ服务器都有一个默认的虚拟主机(/),就是一个斜杠代表默认的虚拟主机。
  
  把一个消息放进队列前,需要有一个交换机(Exchange)。交换机(Exchange)可以理解成具有路由表的路由程序。每个消息都有一个称为路由键(routing key)的属性,就是一个简单的字符串。交换机当中有一系列的绑定,即路由规则(routes)。例如,指明具有路由键 “ff” 的消息要到名为ffqueue的队列当中去。交换机可以存在多个,每个交换机在自己独立的进程当中执行,因此增加多个交换机就是增加多个进程,可以利用服务器的CPU核以达到更高的效率。例如,在一个4核的服务器上,可以创建2个交换机来用2个核,另外2个核留下来做消息处理。
  
  交换机决定要把消息送到哪个队列,就需要路由规则,即绑定。一个绑定就是基于路由键,将交换机和队列连接起来的路由规则。例如,具有路由键“ff”的消息需要被送到两个队列“ff1”和“ff2”,就需要创建两个绑定,绑定需要连接交换机和队列。这种情况下,交换机会复制一份”ff”并且把它们分别发送到队列”ff1”和队列”ff2”中。
  
  而队列装消息(message)的容器,遵循先进先出的规则。消息进入队列就一直在里面带着,直到有客户端(也就是消费者Consumer)连接到这个队列并且将其取走,否则一直保留。注意:队列是由消费者通过应用程序建立的,不是通过配置文件或者命令行工具。如果一个消费者试图创建一个已有的队列,Rab

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值