zoukankan      html  css  js  c++  java
  • RabbitMQ入门介绍

    1.关于AMQP协议

    AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。关于AMQP协议的历史,阅读文末。

    2.AMQP模型

    Publisher(生产者)
    Customer(消费者)
    Broker(服务器,接收和分发消息)
    Exchange(交换器)
    Queue(队列,用于暂时存放数据)
    Channel(消息通道,Channel作为轻量级的Connection极大减少了操作系统建立TCP connection的开销
    Bindingexchange和queue之间的虚拟连接,binding中可以包含routing key。Binding信息被保存到exchange中的查询表中,用于message的分发依据
    Virtual Host(虚拟分组,当多个不同的用户使用同一个RabbitMQ server提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等

    3.关于RabbitMQ

     
     
    上图即为rabbitmq中消息的传递过程,http://tryrabbitmq.com ,提供在线RabbitMQ模拟器,可以帮助理解Exchange/queue/binding等概念。
    RabbitMQ是用Erlang实现的,设计结构图如下:

    相关概念已在第二点AMQP模型中阐述,接下去就要开始实战进行操作了。
     
    消息队列的历史

    Message Queue的需求由来已久,80年代最早在金融交易中,高盛等公司采用Teknekron公司的产品,当时的Message queuing软件叫做:the information bus(TIB)。 TIB被电信和通讯公司采用,路透社收购了Teknekron公司。之后,IBM开发了MQSeries,微软开发了Microsoft Message Queue(MSMQ)。这些商业MQ供应商的问题是厂商锁定,价格高昂。2001年,Java Message queuing试图解决锁定和交互性的问题,但对应用来说反而更加麻烦了。

    于是2004年,摩根大通和iMatrix开始着手Advanced Message Queuing Protocol (AMQP)开放标准的开发。2006年,AMQP规范发布。2007年,Rabbit技术公司基于AMQP标准开发的RabbitMQ 1.0 发布

  • 相关阅读:
    Charles关于Https SSLHandshake解决备忘录
    图片Image转换为base64编码的方法
    图解HTTP(三)
    图解HTTP(二)
    图解HTTP(一)
    Linux下which、whereis、locate、find命令作用
    jQuery实现图片上传
    常见前端面试题备注
    css实现正方形div的3种方式
    promise
  • 原文地址:https://www.cnblogs.com/myna/p/7443216.html
Copyright © 2011-2022 走看看