zoukankan      html  css  js  c++  java
  • MQ:RabbitMQ学习(二) --- 基本概念

    RabbitMQ的关键字说明

    (1)Broker:经纪人。提供一种传输服务,维护一条从生产者到消费者的传输线路,保证消息数据能按照指定的方式传输。粗略的可以将图中的RabbitMQ Server当作Broker。
    (2)Exchange:消息交换机。指定消息按照什么规则路由到哪个队列Queue。
    (3)Queue:消息队列。消息的载体,每条消息都会被投送到一个或多个队列中。
    (4)Binding:绑定。作用就是将Exchange和Queue按照某种路由规则绑定起来。
    (5)RoutingKey:路由关键字。Exchange根据RoutingKey进行消息投递。
    (6)Vhost:虚拟主机。一个Broker可以有多个虚拟主机,用作不同用户的权限分离。一个虚拟主机持有一组Exchange、Queue和Binding。
    (7)Producer:消息生产者。主要将消息投递到对应的Exchange上面。一般是独立的程序。
    (8)Consumer:消息消费者。消息的接收者,一般是独立的程序。
    (9)Channel:消息通道,也称信道。在客户端的每个连接里可以建立多个Channel,每个Channel代表一个会话任务。

    RabbitMQ的使用流程

    (1)客户端连接到消息队列服务器,打开一个channel。
    (2)客户端声明一个exchange,并设置相关属性。
    (3)客户端声明一个queue,并设置相关属性。
    (4)客户端使用routing key,在exchange和queue之间建立好Binding关系。
    (5)生产者客户端投递消息到exchange。
    (6)exchange接收到消息后,就根据消息的RoutingKey和已经设置的binding,进行消息路由(投递),将消息投递到一个或多个队列里。
    (7)消费者客户端从对应的队列中获取并处理消息。

    原理流程

    生产者主要做的是:创建连接-->创建channel-->创建交换机对象-->发送消息

    消费者主要做的是:创建连接-->创建channel-->创建交换机-->创建队列-->绑定交换机/队列/路由键-->接收消息

    本博客地址: wukong1688

    本文原文地址:https://www.cnblogs.com/wukong1688/p/13406865.html

    转载请著名出处!谢谢~~

  • 相关阅读:
    Mac 终端自动补全忽略大小写
    AtCoder ABC 155F Perils in Parallel
    AtCoder ABC 155E Payment
    AtCoder ABC 155D Pairs
    AtCoder ABC 154F Many Many Paths
    牛客 边界都是1的最大正方形大小
    牛客 打印N个数组整体最大的Top K
    牛客 数组中子数组的最大累乘积
    牛客 在数组中找到一个局部最小的位置
    牛客 子矩阵最大累加和问题
  • 原文地址:https://www.cnblogs.com/wukong1688/p/13406865.html
Copyright © 2011-2022 走看看