zoukankan      html  css  js  c++  java
  • 《RabbitMQ in action》

    Producers create messages and publish (send) them to a broker server (RabbitMQ).What’s a message? A message has two parts: a payload and a label. The payload is the data you want to transmit. It can be anything from a JSON array to an MPEG-4 of yourfavorite iguana Ziggy. RabbitMQ doesn’t care. The label is more interesting. It describes the payload, and is how RabbitMQ will determine who should get a copy of your message. Unlike, for example, TCP, where you specify a specific sender and a specificreceiver, AMQP only describes the message with a label (an exchange name andoptionally a topic tag) and leaves it to Rabbit to send it to interested receivers based on that label. The communication is fire-and-forget and one-directional. We’ll getmore details about how RabbitMQ interprets the label later when we talk about exchanges and bindings. For now, all you need to know is that producers create messagesand label them for routing (see figure 2.1).

    Consumers are just as simple. They attach to a broker server and subscribe to a
    queue. Think of a queue as a named mailbox. Whenever a message arrives in a particular
    mailbox, RabbitMQ sends it to one of the subscribed/listening consumers. By the

    time a consumer receives a message, it now only has one part: a payload. The labels
    attached to the message don’t get passed along with the payload when the message is
    routed. RabbitMQ doesn’t even tell you who the producer/sender was.

     , if you need
    to know specifically who produced an AMQP message, it’s up to the producer to
    include that information as a part of the message payload.

    First, you need to understand queues. Conceptually, there are
    three parts to any successful routing of an AMQP message: exchanges, queues, and
    bindings. The exchanges are where producers publish their messages, queues are
    where the messages end up and are received by consumers, and bindings are how the
    messages get routed from the exchange to particular queues.

  • 相关阅读:
    scrapy 项目搭建
    linux mysql -- ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)
    linux 安装python 和pip
    转 Pycharm及python安装详细教程
    mysql在linux下的安装
    easyui datagrid动态修改editor时动态绑定combobox的数据
    easyui combobox 在datagrid中动态加载数据
    linux 安装tomcat
    CUBRID学习笔记23 关键字列表
    CUBRID学习笔记 22 插入数据
  • 原文地址:https://www.cnblogs.com/youxin/p/3964241.html
Copyright © 2011-2022 走看看