这一周主要是对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和回调队列返回给生产者队列 。

生产者的接收事件 中处理发送请求的消息的返回值 。

友情提示

​ 我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题。可以直接在公众号《爱码农爱生活 》留言。必定会再次复查原因。让每一篇 文章的流程都能顺利实现。

2019年7月第一周总结-RabbitMQ总结的更多相关文章

  1. 用js获取周、月第一天和最后一天(转载)

    var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...

  2. python学习第一天 -----2019年4月15日

    第一周-第06章节-Python3.5-第一个python程序 #!/usr/bin/env python #-*- coding:utf-8 _*- """ @auth ...

  3. C语言I—2019秋作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设 ...

  4. IT帮2019年2月线下活动【定义工作,解读自我】之站桩练习

    2019年2月IT帮线下活动[定义工作,解读自我] 昨天的活动收获很大,全面的总结周老师会另写一篇来帮助大家回顾.我想说一下其中最打动我的一句话:“只有你能决定你有多优秀!” “工作中把自己当成企业家 ...

  5. 初入计算机专业,学习c语言的第一周作业问答

    2019年9月17日下午3点30,我来到了1117教室准备上我进入大学的第一堂计算机专业课,并需要完成以下作业. 2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 我所了解的计算机就是一台 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969

    这是计算一个月第一天的SQL 脚本:    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...

  8. php 获取某个月的周次信息

    在做统计的时候如果按照周统计 ,需要对某个月的周次信息进行计算,如果本月头一天不是星期一,则向上一个月取周一,本月最后的几天如果不能正好是一周,则忽略. 例如 2019-09月计算出来的结果 2016 ...

  9. 获取某月第一天,最后一天的sql server脚本

    本文来自:http://blog.csdn.net/chaoowang/article/details/9167969 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, ...

随机推荐

  1. 使用layui框架根据字段来设置tr行的背景色

    问题来源:最近在写公司项目时使用layui遇见的问题,老板要求根据td字段来设置整行tr的背景色. 解决:一开始数据比较少的时候只是直接在页面根据js动态判断字段然后来更改背景色,结果能够成功,但是后 ...

  2. Springboot项目统一异常处理

    Springboot项目统一异常处理 一.接口返回值封装 1. 定义Result对象,作为通用返回结果封装 2. 定义CodeMsg对象,作为通用状态码和消息封装 二.定义全局异常类 三.定义异常处理 ...

  3. python多线程爆破压缩包密码

    import zipfile from threading import Thread #多线程库 import optparse #选定字典或者文件 def extractFile(zfile,pa ...

  4. hybris commerce storefront的产品搜索功能

    在Hybris Commerce Cloud的storefront的搜索栏键入一些字母,每次键入,会触发一个发送到后台的http请求实现live search的功能: http url如下:https ...

  5. 【HICP Gauss】数据库 数据库管理(调优 启动流程)-4

    数据库参数: 创建数据库 调优数据库 其他---->控制资源使用 控制数据库内部机制 设置重要属性 参数数据保存在cfg/Zengine.ini 文件中 参数保存使用 key=value的保存形 ...

  6. P1392 取数[堆]

    题目描述 在一个n行m列的数阵中,你须在每一行取一个数(共n个数),并将它们相加得到一个和.对于给定的数阵,请你输出和前k小的取数方法. 解析 写这题完全自闭. 根本没联想起远古时期做的 P1631 ...

  7. Shell排序——软考(五)

    希尔排序是一种插入排序,是对直接插入排序的一种改进,该算法出自于D.L.Shell,因此得名为希尔.Shell排序又名缩小增量排序. 思想      假设初始序列为n个元素,先取一个小于n的整数d1作 ...

  8. 为什么将项目托管到Apache,浏览器输入http://127.0.0.1会跳转到http://127.0.0.1//dashboard/?

    找到xampp安装的根目录下htdocs文件夹下的index.php文件 <?php if (!empty($_SERVER['HTTPS']) && ('on' == $_SE ...

  9. Union-Find(并查集): Union-Find Application

    Union-find 可以应用在很多方面 之前我们看到了union-find在dynamic connectivity上的应用,接下来介绍它在percolation上的应用. union-find在K ...

  10. Tomcat默认连接超时时间

    秒=1小时 2. 在web.xml中通过参数指定: xml 代码 <session-config>         <session-timeout>30</sessio ...