当前位置: 首页 > news >正文

网站备案好麻烦太原app制作公司

网站备案好麻烦,太原app制作公司,西安seo排名外包,广西建设厅证书查询安装与配置 安装 RabbitMQ 读者可以在 RabbitMQ 官方文档中找到完整的安装教程:Downloading and Installing RabbitMQ — RabbitMQ 本文使用 Docker 的方式部署。 RabbitMQ 社区镜像列表:https://hub.docker.com/_/rabbitmq 创建目录用于映射存储卷…

安装与配置

安装 RabbitMQ

读者可以在 RabbitMQ 官方文档中找到完整的安装教程:Downloading and Installing RabbitMQ — RabbitMQ

本文使用 Docker 的方式部署。

RabbitMQ 社区镜像列表:https://hub.docker.com/_/rabbitmq

创建目录用于映射存储卷:

mkdir -p /opt/lib/rabbitmq

部署容器:

docker run -itd --name rabbitmq -p 5672:5672 -p 15672:15672 \
-v /opt/lib/rabbitmq:/var/lib/rabbitmq \
rabbitmq:3.12.8-management

部署时占用两个端口。5672 是 MQ 通讯端口,15672 是 Management UI 工具端口。

打开 15672 端口,会进入 Web 登录页面,默认账号密码都是 guest。

image-20231114142145244

image-20231114142240075

关于 RabbitMQ Management UI 的使用方法,后续再介绍。

打开管理界面后会,在 Exchanges 菜单中,可以看到如下图表格。这些是默认的交换器。现在可以不需要了解这些东西,后面会有介绍。

Virtual hostNameTypeFeatures
/(AMQP default)directD
/amq.directdirectD
/amq.fanoutfanoutD
/amq.headersheadersD
/amq.matchheadersD
/amq.rabbitmq.tracetopicD I
/amq.topictopicD

image-20231114142616280

发布与订阅模型

使用 C# 开发 RabbitMQ,需要使用 nuget 引入 RabbitMQ.Client,官网文档地址:.NET/C# RabbitMQ Client Library — RabbitMQ

在继续阅读文章之前,请先创建一个控制台程序。

生产者、消费者、交换器、队列

为了便于理解,本文制作了几十张图片,约定一些图形表示的含义:

对应生产者,使用如下图表示:

p

对于消费者,使用如下图表示:

C

对于消息队列,使用如下图表示:

Q

对于交换器,使用如下图表示:

X

在 RabbitMQ 中,生产者发布的消息是不会直接进入到队列中,而是经过交换器(Exchange) 分发到各个队列中。前面提到,部署 RabbitMQ 后,默认有 七个交换器,如 (AMQP default)amq.direct 等。

当然,对于现在来说,我们不需要了解交换器,所以,在本节的教程中,会使用默认交换器完成实验。

忽略交换器存在的情况下,我们可以将生产和消费的流程简化如下图所示:

s1

请一定要注意,图中省略了交换器的存在,因为使用的是默认的交换器。但是生产者推送消息必须是推送到交换器,而不是队列,这一句一定要弄清楚。

对于消费者来说,要使用队列,必须确保队列已经存在。


ConnectionFactory factory = new ConnectionFactory
{HostName = "localhost"
};// 连接
using IConnection connection = factory.CreateConnection();// 通道
using IModel channel = connection.CreateModel();channel.QueueDeclare(// 队列名称queue: "myqueue",// 持久化配置,队列是否能够在 broker 重启后存活durable: false,// 连接关闭时被删除该队列exclusive: false,// 当最后一个消费者(如果有的话)退订时,是否应该自动删除这个队列autoDelete: false,// 额外的参数配置arguments: null);

编写一个消费者,消费该队列中的消息,其完整代码如下:

using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System.Text;ConnectionFactory factory = new ConnectionFactory
{HostName = "localhost"
};using IConnection connection = factory.CreateConnection();
using IModel channel = connection.CreateModel();channel.QueueDeclare(// 队列名称queue: "myqueue",// 持久化配置,队列是否能够在 broker 重启后存活durable: false,// 连接关闭时被删除该队列exclusive: false,// 当最后一个消费者(如果有的话)退订时,是否应该自动删除这个队列autoDelete: false,// 额外的参数配置arguments: null);// 定义消费者
var consumer = new EventingBasicConsumer(channel);
consumer.Received += (model, ea) =>
{var message = Encoding.UTF8.GetString(ea.Body.Span);Console.WriteLine($" [x] Received {message}");
};// 开始消费
channel.BasicConsume(queue: "myqueue",autoAck: true,consumer: consumer);Console.ReadLine();

http://www.yayakq.cn/news/390008/

相关文章:

  • 总公司网站备案后 分公司网站还需要备案吗大良商城网站建设
  • 个人做外贸的网站有哪些山东网站建设口碑好
  • 邵阳网站开发公司推荐关于网站建设案例
  • 深圳营销型网站方案wordpress导入img文件方法
  • 找工程做在哪个网站?天津黑曼巴网站建设
  • 展览中心网站建设wordpress 如何分页
  • 网站建设网页设计公司科技发明
  • 网站怎么样做采集别人网站的文章管理手机网站首页
  • 锦州电脑网站建设wordpress客户端制作
  • 网站建设后期维护流程wordpress 运行好慢
  • 在线网页代理浏览免费通辽做网站0475seo
  • 如何查看网站流量wordpress 点评插件
  • 如何做网站条幅闪图承德手机网站建设
  • 中建招聘网站大庆市城乡建设局网站首页
  • 网站建设质量管理定义网站的制作与调试
  • 珠海做网站优化网站开发人员需要什么技能
  • wordpress 直播 视频宁波网站优化公司电话
  • 网站怎么做运营推广广东省建设工程执业中心网站
  • 太原推广型网站建设轻松学做网站
  • 乐山住房和城乡建设厅网站服装网站推广策划书
  • 做网站用属于前端网站开发有哪些架构
  • 石家庄网站建设培训学校佛山网站建设锐艺传播
  • 奥远网站建设流程WordPress建站步骤
  • 怎么在网站做支付端口对接自助式网站制作
  • 网站怎样制作吸引人建设工业
  • 做电商网站都需要学什么网站建设服务专业
  • 做网站招标电子商务网站html模板
  • 网站建设网页制作软件深圳自助网站建设
  • 交换机可以做网站跳转吗在线制作电子公章生成器
  • 单仁牛商河南网站建设优化技术