首页 > 其他分享 >中间件学习 - Rabbit MQ 概念及特殊MQ实现

中间件学习 - Rabbit MQ 概念及特殊MQ实现

时间:2023-08-24 15:46:54浏览次数:53  
标签:队列 中间件 模式 死信 MQ 消息 Rabbit 路由

Rabbit MQ

官方文档

介绍

Rabbit MQ是一个消息队列组件,使用Erlang开发,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题

安装使用

  1. 安装Erlang (RabbitMQ基于Erlang开发) Downloads - Erlang/OTP
  2. 配置Erlang环境
  3. erl -version 验证
  4. 安装rabbitMQDownloading and Installing RabbitMQ — RabbitMQ
  5. 进去rabbitMQ安装目录的sbin目录里面
  6. 输入rabbitmq-plugins enable rabbitmq_management命令安装管理页面的插件
  7. 启动rabbitmq-server.bat
  8. 进入管理页面http://localhost:15672 ,账号密码默认是:guest/guest

组件名称

  • exchange(交换机):按照一定的规则将消息路由转发到队列,并且可以对消息进行过滤,交换机不存储数据。
  • queue(队列):存储消息,消息到达后转发到消费者。

RabbitMQ 的工作模式

  1. 简单队列模式(Simple Queue)
  2. 工作队列模式(Work Queues)
  3. 发布订阅模式(Publish/Subscribe)
  4. 路由模式(Routing)
  5. 主题模式(Topic)

简单队列模式

最简单的队列模式,一个生产者一个消费者,主要用于处理异步任务

工作队列模式

一个生产者生产数据往队列里放,会有多个消费者消费队列里面的数据,消息不会被重复消费

借大佬图片用一下

标签:队列,中间件,模式,死信,MQ,消息,Rabbit,路由
From: https://www.cnblogs.com/bananafish/p/17654265.html

相关文章

  • 【树论】RMQ问题和ST表
    目录RMQ问题ST表优缺点实现递推查询复杂度代码技巧-快速读入RMQ问题RMQ(RangeMaximum/MinimumQuery)问题,即区间最值问题。一般是多次询问,对时间复杂度要求高,一般需要\(O(logn)\)或\(O(1)\)复杂度ST表p[i][j]是以i为起点,连续\(2^j\)个数字的最大值(是一个递推表)3......
  • 消息队列 & RabbitMQ
    消息队列&RabbitMQ使用总结1.消息队列定义:messagequeue是消息传递过程中一种存储数据的结构。2.特点:先进先出,可以设置优先级用于大客户优先发货,持久化,消息确认,延时队列用于订单30分钟未支付取消。3.作用:应用解耦,肖峰填谷,异步提高响应速度4.RabbitMQ:四种交换机直接交换......
  • k8s部署rocketmq
    分别部署rocketmqnamesrv、rocketmqbroker、rocketmq-dashboard三个。1、部署rocketmqnamesrv部署时,rocketmq的日志存储采用hostPath方式挂载到服务器磁盘上,所以需要指定node节点。---apiVersion:apps/v1kind:Deploymentmetadata:labels:app:rocketmqnamesrv......
  • webman:全局中间件:记录访问日志(v1.5.7)
    一,官方文档地址:https://www.workerman.net/doc/webman/middleware.html二,php代码1,配置中间件:config/middleware.php12345678910111213141516171819<?php/** *Thisfileispartofwebman. * *LicensedunderTheMITLicense......
  • 了解ASP.NET Core中的中间件概念
    当谈到构建强大且高度可定制的Web应用程序时,ASP.NETCore是一个备受推崇的选择。其灵活性和可扩展性使开发人员能够以更有创意的方式构建应用程序,其中的中间件概念是实现这种灵活性的关键。什么是中间件?中间件是ASP.NETCore应用程序处理HTTP请求和响应的组件。它们在请求到达应用......
  • 【RocketMQ】消息的存储总结
    当Broker收到生产者的消息发送请求时,会对请求进行处理,从请求中解析发送的消息数据,接下来以单个消息的接收为例,看一下消息的接收过程。数据校验封装消息首先Broker会创建一个MessageExtBrokerInner对象封装从请求中解析到的消息数据,它会将Topic信息、队列ID、消息内容、消息属性......
  • Django自定义中间件验证用户token信息
    1.新建middleware.pyfromdjango.urlsimportreversefromrest_framework.responseimportResponsefromutils.tokenimportcheck_tokenfromdjango.httpimportJsonResponse,HttpResponseRedirectfromyshop.modelsimportMyUsertry:fromdjango.utils.de......
  • 采用增强型 HotRod™封装 LMQ66420MC3RXBRQ1、LMR36503MSC5RPERQ1 汽车类降压转换器
    一、LMQ66420MC3RXBRQ1器件介绍:LMQ66420-Q1是具有集成旁路和自举电容器的业界超小型36V、2A同步直流/直流降压转换器,采用增强型HotRod™QFN封装。该易于使用的转换器支持1V(3.3V)至36V的宽输入电压范围(启动后或运行后),并支持高达42V的瞬态电压。该器件专为满足常开型汽车应......
  • dockerfile搭建activemq5.16.5
    dockerfile搭建activemq5.16.5搭建环境最小化的centos7.5家目录下完成如下操作环境构建脚本#!/bin/bash#authorbygwl###2023-02-10docker安装配置yuminstallwgetntpdatetelnetvimnet-toolsbash-completiongccgcc-c++make-ysed-i.bak's/SELINUX=enfor......
  • RocketMQ源码(四):RocketMQ生产者发送消息流程
    RocketMQ通过Producer发送消息,以同步方式发送普通消息为例,分析发送消息的整体流程。Producer的示例代码如下:1importorg.apache.rocketmq.client.producer.DefaultMQProducer;2importorg.apache.rocketmq.client.producer.SendResult;3importorg.apache.rocketmq.......