2019年7月第一周总结-RabbitMQ总结
这一周主要是对RabbitMQ做了一下学习。
快速阅读
RabbitMq的介绍以及环境安装配置,以及RabbitMq的六种应用 。单生产者和消费者,
单生产者多消费者,消息的发布订阅,消息类型Echange中的Direct,Topic.以及RPC调用
介绍
RabbitMQ做为一个消息中间件,用于进程间的通信
常被用在异步处理,应用解藕,流量消峰等业务场景。
环境配置
RabbitMq是用Erlang开发的,所以安装之前要先安装Erlang
服务端需要安装RabbitMq-server
vs开发的话,需要通过nuget下载RabbitMQ.client ,
应用
单生产者和消费者
生产者和消费者通过共用一个队列名称,两者之间传输的消息以字节数组存放
消费者在接收事件中处理接收到的消息 。
单生产者多消费者
一个生产者生产的任务 ,多个消费者来消费。
生产者指定队列名称queue和routingkey,
消费者创建EventingBasicConsumer。通过queue名称以及设置BasicQos来设置每次取一条消息。
消息的发布订阅模式
生产者把消息广播出去,所有的消费者都可以同时接收到消息 。
两端都声明消息交换的类型是fanout。 消息头中设置消息持久化为true
消费者创建EventingBasicConsumer 在接收者事件是处理消息 。并且设置basecack
消息类型Echange中的Direct
生产者发送的消息 以routingkey进行分组,消费者以routingkey进行不同的接民,
消费者输入不同的routingkey接收不同的消息。
消息类型Echange中的Topic
和Direct消息类型类似,只是加了类型正则表达式的通配符, "*"号代表任意一个单词
"#"号代表0个或多个单词
RabbitMq的rpc调用
生产者和消费者都有一个接收事件 ,生产者先接收消费者发送过来的请求,然后根据请求的消息
获得相应的结果再加上消息头上标识的消息id和回调队列返回给生产者队列 。
生产者的接收事件 中处理发送请求的消息的返回值 。
友情提示
我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题。可以直接在公众号《爱码农爱生活 》留言。必定会再次复查原因。让每一篇 文章的流程都能顺利实现。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?