(精华2020年6月24日更新)asp.net core3.1实战篇 RabbitMQ的使用二(环境搭建和初步使用)

本文介绍了RabbitMQ的基本概念、安装过程及在.NET Core 3.1中的使用。内容涵盖RabbitMQ的架构、消息队列的作用、安装步骤、常用队列形式,以及创建生产者和消费者的实例。
摘要由CSDN通过智能技术生成

上篇已经安装完Erlang,继续安装RabbitMQ

1. RabbitMQ是啥

RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。

它支持开放的高级消息队列协议 (AMQP,Advanced Message Queuing Protocol),从根本上避免了生产厂商的封闭,使用任何语言的各种客户都可以从中受益。这种协议提供了相当复杂的消息传输模式,所以基本上不需要MassTransit或NServiceBus的配合。它还具有“企业级”的适应性和稳定性。这些东西对我的客户来说十分的有吸引力。

RabbitMQ的整体架构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 为什么要用RabbitMQ消息队列

消息队列是啥:消息队列(Message Queue),一种先进先出的队列结构,用于处理Message。
消息队列解决的问题:在处理大量并发请求时,同步处理往往会发生阻塞,特别是在更新数据库或者调用其他组件时。消息队列能够实现请求的异步处理、应用解耦、流量削锋和消息通讯,同时能够有效防止阻塞导致的消息丢失。
消息队列系统,一般都包含3个角色:队列服务端,队列的生产者,队列的消费者。这种架构与当下流行的分布式架构极为契合。

3. 如何安装RabbitMQ

1:安装RabbitMQ(下载地址:https://www.rabbitmq.com/install-windows.html)
2:安装完RabbitMQ-------将安装目录sbin添加到环境目录中的Path中
3:在Powershell中执行:rabbitmq-plugins list
4:安装RabbitMQ可视化管理端:rabbitmq-plugins enable rabbitmq_management
5:启动服务后访问http://localhost:15672默认的账户密码都是guest
6:修改或者删除该用户(建议先修改密码,然后添加用户,添加之后再删除guest用户,或者直接改一个密码吗保留guest用户)
7:添加一个Admin用户,名称随便,密码随便,角色选择Admin
8:添加完之后刷新Users列表会看到该用户,接下来配置hosts
9:新建一个testhost,然后点击testhost,进入host配置页面,在Permissions选项中添加admin 的访问权限
10:回到Users页面可以看到如上的列表,至此RabbitMQ配置完成

4:上述的操作可以通过以下命令完成

查看所有用户

rabbitmqctl list_users

配置权限

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

查看用户权限

rabbitmqctl list_user_permissions admin

设置tag

rabbitmqctl set_user_tags admin administrator

删除用户(安全起见,删除默认用户)

rabbitmqctl delete_user guest

5. RabbitMQ的队列形式

在使用RabbitMQ之前,咱们先捋一捋RabbitMQ一共有几种使用方式,常用的5中队列

  1. 第一种:简单队列(一对一模式)耦合性高,生产消费一一对应。
  2. 第二种:WorkQueues(工作队列),一个生产,多个消费者共同处理消息。
  3. 第三种:订阅模式,1一个生产者多个消费者,每一个消费者有自己的一个队列,生产者直接将消息发送给交换机,交换机将消息发送给队列,每一个队列都需要绑定到交换机。这种模式可以满足消费者发布一个消息,多个消费者消费同一信息的需求,但C1、C2消费的都是相同的数据,有时我们需要C1和C2消费的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值