rabbitmq学习系列:介绍

youngdeng youngdeng     2022-12-04     506

关键词:

1. 介绍

      RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。

      RabbitMQ的官网:http://www.rabbitmq.com

 

  2. AMQP

    AMQP,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,同样,消息使用者也不用知道发送者的存在。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

 

  3. 系统架构

       技术图片

  消息队列的使用过程大概如下:

    (1)客户端连接到消息队列服务器,打开一个channel。

    (2)客户端声明一个exchange,并设置相关属性。

    (3)客户端声明一个queue,并设置相关属性。

    (4)客户端使用routing key,在exchange和queue之间建立好绑定关系。

    (5) 客户端投递消息到exchange。exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。

 

    如下图所示:AMQP 里主要要说两个组件:Exchange 和 Queue

    绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,

    这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型。

 

  4. 几个概念

    P: 为Producer,数据的发送方。

    C:为Consumer,数据的接收方。

    Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。

    Queue:消息队列载体,每个消息都会被投入到一个或多个队列。

    Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。

    Routing Key:路由关键字,exchange根据这个关键字进行消息投递。

    vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。

    channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

 

   PS: RabbitMQ 的一些基本的概念,就介绍完了,虽然都是些概念,但是了解他的一些原理,还是很重要的,特别是exchange 和 路由的概念和作用。接下来会具体介绍他的安装和使用。

   查看RabbitMQ 系列其他文章,http://www.cnblogs.com/zhangweizhong/category/855479.html

rabbitmq学习系列:rabbitmq安装与配置

上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置。  1.安装    RabbitMQ是建立在强大的ErlangOTP平台上,因此安装RabbitMQ之前要先安装Erlang。    erlang:http://www.erlang.org/downl... 查看详情

初识rabbitmq系列之一:简单介绍

一:RabbitMQ是什么?众所周知,MQ是Message Queue(消息队列)的意思,RabbitMQ就是众多MQ框架其中的一款,开源实现了AMQP协议(官网:http://www.amqp.org/),也就是说RabbitMQ是一个开源的消息队列框架。他用于在分布式系统中存储... 查看详情

rabbitmq学习系列:几种exchange模式(代码片段)

上一篇,讲了RabbitMQ的具体用法,可以看看这篇文章:RabbitMQ学习系列(三):C#如何使用RabbitMQ。今天说些理论的东西,Exchange的几种模式。   AMQP协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队... 查看详情

rabbitmq消息队列系列教程windows下安装和部署rabbitmq

摘要本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助!目录一、Erlang语言环境的搭建二、RabbitMQ服务环境的搭建三、RabbitMQ服务Web管理工具 一、Erlang语言环境的搭建RabbitMQ开... 查看详情

rabbitmq学习总结(上)——rabbitmq介绍安装和workqueues模式(代码片段)

RabbitMQ学习总结(上)——RabbitMQ介绍、安装和WorkQueues模式一、消息队列介绍1.1MQ的相关概念1.2RabbitMQ1.3RabbitMQ安装(Linux)二、HelloWorld三、工作队列(WorkQueues)3.1轮询分发消息3.2Messageacknowledgment&#x 查看详情

eshoponcontainers学习系列:rabbitmq消息总线实践(代码片段)

今天研究了下eShopOnContainers里的RabbitMQ的使用,在项目里是以封装成消息总线的方式使用的,但是仍然是以其发布、订阅两个方法作为基础封装的,我们今天就来实际使用一下。为了简单起见,就在同一个API项目里实现发布订阅... 查看详情

rabbitmq消息队列系列教程认识rabbitmq

摘要RabbitMQ是最为流行的消息中间件,是处理高并发业务的利器。本系列教程,将跟大家一起学习RabbitMQ。目录RabbitMQ是什么?RabbitMQ的特点是什么?一、RabbitMQ是什么?RabbitMQ是基于Erlang开发的目前最流行的开源消息中间件,类似... 查看详情

springboot系列——7步集成rabbitmq

RabbitMQ是一种我们经常使用的消息中间件,通过RabbitMQ可以帮助我们实现异步、削峰的目的。今天这篇,我们来看看SpringBoot是如何集成RabbitMQ,发送消息和消费消息的。同时我们介绍下死信队列。集成RabbitMQ集成RabbitMQ只需要如下... 查看详情

rabbitmq系列rabbitmq入门(代码片段)

RabbitMQ入门学习目标1.消息队列概述1.1.消息队列MQ1.2、AMQP和JMS1.3.消息队列产品1.4.RabbitMQ2、安装及配置RabbitMQ2.1.安装说明2.2.用户以及VirtualHosts配置2.2.1、用户角色2.2.2、VirtualHosts配置3、RabbitMQ案例入门3.1、搭建rabbit模块工程及引入... 查看详情

springcloud学习系列之五-----配置中心(config)和消息总线(bus)完美使用版(代码片段)

...的分布式配置中心(SpringCloudConfig)的配置刷新和消息总线(RabbitMQ和Kafka)使用教程。SpringCloudConfigRefresh在上一篇中我们介绍了springcloud配置中心的本地使用 查看详情

springcloud学习系列之五-----配置中心(config)和消息总线(bus)完美使用版(代码片段)

...的分布式配置中心(SpringCloudConfig)的配置刷新和消息总线(RabbitMQ和Kafka)使用教程。SpringCloudConfigRefresh在上一篇中我们介绍了springcloud配置中心的本地使用 查看详情

rabbitmq系列八queue详细介绍

...除之后,该Queue会自动被删除http://192.168.120.131:15672/#/queuesrabbitmqctllist_queuesrabbitmqctllist_queues-ploghttp://192.168.120.131:15672/api/queues需要认证queue相当与一个容器,一般指一类客户端,如名称是PC,OA,APP,WAP的queue;routingKey:一般相当... 查看详情

重磅发布-rabbitmq实战系列完整视频教程

概要介绍:历经一个多月的时间,我录制的RabbitMQ实战系列完整视频教程终于出世了!在本课程中,我将带领大家一窥消息中间件RabbitMQ的容貌,并将学到的知识要点实战到实际的应用场景中。本课程将分为两大阶段,第一阶段... 查看详情

rabbitmq_学习_00_资源帖

一、精选资料    二、参考资料1.RabbitMQ系列教程2.RabbitMQ入门教程ForJava【1】-HelloWorld2.RabbitMQ官方教程一"HelloWorld!" 查看详情

rabbitmq学习--rabbitmq集群相关学习

使用集群的原因最开始我们介绍了如何安装及运行RabbitMQ服务,不过这些是单机版的,无法满足目前真实应用的要求。如果RabbitMQ服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台RabbitMQ服务器... 查看详情

rabbitmq学习--rabbitmq集群相关学习

使用集群的原因最开始我们介绍了如何安装及运行RabbitMQ服务,不过这些是单机版的,无法满足目前真实应用的要求。如果RabbitMQ服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台RabbitMQ服务器... 查看详情

rabbitmq消息中间件技术精讲

RabbitMQ核心API+高级特性+Spring家族整合+高可靠集群+SET化架构设计+组件设计思路神秘数字--》求求号:—》:2304636824 第1章课程介绍本章首先让大家彻底明白为什么学习RabbitMQ,通过本课程的学习具体收获有哪些?课程内容具体... 查看详情

rabbitmq消息中间件技术精讲

...p; 第1章课程介绍本章首先让大家彻底明白为什么学习RabbitMQ,通过本课程的学习具体收获有哪些?课程内容具体安排与学习建议,然后为大家简单介绍下业界主流消息中间件有哪些,各自适用场景等。1-1课程导学1-2业界主流... 查看详情