这一周主要是对RabbitMQ作了一下学习。正则表达式
RabbitMq的介绍以及环境安装配置,以及RabbitMq的六种应用 。单生产者和消费者,数组
单生产者多消费者,消息的发布订阅,消息类型Echange中的Direct,Topic.以及RPC调用异步
RabbitMQ作为一个消息中间件,用于进程间的通讯学习
常被用在异步处理,应用解藕,流量消峰等业务场景。server
RabbitMq是用Erlang开发的,因此安装以前要先安装Erlang中间件
服务端须要安装RabbitMq-serverrabbitmq
vs开发的话,须要经过nuget下载RabbitMQ.client ,队列
生产者和消费者经过共用一个队列名称,二者之间传输的消息以字节数组存放进程
消费者在接收事件中处理接收到的消息 。事件
一个生产者生产的任务 ,多个消费者来消费。
生产者指定队列名称queue和routingkey,
消费者建立EventingBasicConsumer。经过queue名称以及设置BasicQos来设置每次取一条消息。
生产者把消息广播出去,全部的消费者均可以同时接收到消息 。
两端都声明消息交换的类型是fanout。 消息头中设置消息持久化为true
消费者建立EventingBasicConsumer 在接收者事件是处理消息 。而且设置basecack
生产者发送的消息 以routingkey进行分组,消费者以routingkey进行不一样的接民,
消费者输入不一样的routingkey接收不一样的消息。
和Direct消息类型相似,只是加了类型正则表达式的通配符, "*"号表明任意一个单词
"#"号表明0个或多个单词
生产者和消费者都有一个接收事件 ,生产者先接收消费者发送过来的请求,而后根据请求的消息
得到相应的结果再加上消息头上标识的消息id和回调队列返回给生产者队列 。
生产者的接收事件 中处理发送请求的消息的返回值 。
我对个人文章负责,发现好多网上的文章 没有实践,都发出来的,让人走不少弯路,若是你在个人文章中遇到没法实现,或者没法走通的问题。能够直接在公众号《爱码农爱生活 》留言。一定会再次复查缘由。让每一篇 文章的流程都能顺利实现。