ASP.NET Core消息队列RabbitMQ基础入门实战演练
一、课程介绍
人生苦短,我用.NET Core!消息队列RabbitMQ大家相比都不陌生,本次分享课程阿笨将给大家分享一下在一般项目中99%都会用到的消息队列MQ的一个实战业务运用场景。本次分享课程不是零基础教学,课程内容的侧重点是讲解的RabbitMQ的最实用、最简单的实战运用场景:Publish/Subscrib(发布/订阅)模式,发送端发送消息,单个接收端接收处理消息。
学完本次"是猴子都看的懂的消息队列RabbitMQ实战课程"后,阿笨带直接让你也能如此优雅简单的上手使用RabbitMQ消息队列,开箱即用,即插即用!
1.1、本次分享课程适合人群如下:
如果您是一个开发老鸟,那么本次课程完全不建议您进行学习!
如果您对RabbtiMQ基础知识有一定的了解或者甚至完全没有了解MQ过,那么或许本次分享课程阿笨站着实战项目开发的角度带领大家在能够让你最直观的体验一下MQ是什么,能够我们的项目中做什么,帮助我们解决什么样的问题。
1.2、一句话总结今天我们学习达到的目标
如何在我们的ASP.NET Core项目中使用消息队列MQ来实现不同系统之间数据同步,从而实现系统应用程序之间解耦。
如果您同样对本次分享《ASP.NET Core消息队列RabbitMQ基础入门实战演练》课程感兴趣的话,那么请跟着阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
二、快速利用Docker构建RabbitMQ容器环境搭建
Docker最近很火,所以就打算使用。大家根据自身情况,如果是刚开始学习的RabbitMQ话,这里还是建议大家先安装在Windows系统或者是Linux系统上。
docker run -d --name aben-rabbitmq -p 15672:15672 -p 5671:5671 -p 5672:5672 rabbitmq:management
此时,我们可以访问如下地址来访问自带的Web管理页面: http://192.168.137.237:15672/
默认账号/密码:guest/guest
三、消息队列RabbitMQ在ASP.NET Core中实战场景运用
MQ的最常用,最具备典型代表意义的使用场景:实现不同系统之间的数据同步比如:如何实现订单系统OMS将订单同步至发货系统ERP中?
1、基于关系型数据库实现的数据同步方案。
1)、获取待同步的订单列表数据:IEumable<Order> GetWaittingSyncOrderList(int count=100);
2)、更新已同步的订单:boo UpdateOderSyncStatus(int [] orderIds)
2、基于MQ实现的数据同步异步处理方案。
1)、生产者只负责将待同步的订单放入到消息队列中即可。
2)、消费者只负责将消息队列中的带同步订单取出即可。
3、消息接收确认ACK机制防止消息丢失
我们知道默认情况下如果一个Message 被消费者所正确接收则会被从 Queue 中移除
那么如何防止消费者出现异常的时候导致消息的丢失即实现消息消费者如何通知Rabbit消息消费成功。
消息通过acknowledged(ACK )确认是否被正确接收,每个 Message 都要被确认(acknowledged),可以手动去 ACK 或自动 ACK
4、如何通过多线程技术来提高MQ订阅者的处理能力
Publish/Subscrib(e发布/订阅)模式,发送端发送广播消息,单个接收端接收处理消息,这样消费者的处理能力有限,如何在不使用多个接收端的情况下,就能提供我们单个消费者的处理能力呢?答案是肯定的:采用多线程即可。
四、总结
我们学习一门技术,最好先弄明白该技术解决的业务场景是什么,然后带着需求问题去学习和实践。如果大家对消息队列RabbitMQ进一步学习和了解,可以学习一下阿笨早期的分享课程:《C#消息队列RabbitMQ从入门到实战演练》、《C#多线程技术提高消息队列MQ消费者吞吐率》、《C# RabbitMQ延迟队列功能实战项目演练》、《C# RabbitMQ优先级队列实战项目演练》、《C#基于RabbitMQ实现客户端之间消息通讯实战演练》
ASP.NET Core消息队列RabbitMQ基础入门实战演练的更多相关文章
- CAP带你轻松玩转Asp.Net Core消息队列
CAP是什么? CAP是由我们园子里的杨晓东大神开发出来的一套分布式事务的决绝方案,是.Net Core Community中的第一个千星项目(目前已经1656 Star),具有轻量级.易使用.高性能 ...
- 消息队列RabbitMQ基础知识详解
一: 什么是MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序或者模块对模块的通信方法.MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另 ...
- python使用消息队列RabbitMq(入门)
windows平台开发和使用 安装 安装Erlang:https://pan.baidu.com/s/1QcZDaI205uaue7mMWh5cSA 安装RabbitMQ:https://pan.ba ...
- C# 消息队列之 RabbitMQ 基础入门
Ø 简介 C# 实现消息队列的方式有很多种,比如:MSMQ.RabbitMQ.EQueue 等,本文主要介绍使用 RabbitMQ 实现消息队列的基础入门.包括如下内容: 1. 什么是消息队列? ...
- C#消息队列(RabbitMQ)零基础从入门到实战演练
一.课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次<C#消息队列零基础从入门到实战演练&g ...
- WSL2+Docker部署RabbitMQ以及在Asp.net core 中使用RabbitMQ示例(1)
本文主要在于最近因疫情不能外出,在家研究的一些技术积累. 主要用到的技术以及知识点: WSL 2 WSL 2+Docker Docker+RabbitMQ 在ASP.NET Core中使用Rabbit ...
- kafka学习笔记(一)消息队列和kafka入门
概述 学习和使用kafka不知不觉已经将近5年了,觉得应该总结整理一下之前的知识更好,所以决定写一系列kafka学习笔记,在总结的基础上希望自己的知识更上一层楼.写的不对的地方请大家不吝指正,感激万分 ...
- node使用消息队列RabbitMQ一
基础发布和订阅 消息队列RabbitMQ使用 1 安装RabbitMQ服务器 安装erlang服务 下载地址 http://www.erlang.org/downloads 安装RabbitMQ 下载 ...
- 如何在ASP.NET Core中实现一个基础的身份认证
注:本文提到的代码示例下载地址> How to achieve a basic authorization in ASP.NET Core 如何在ASP.NET Core中实现一个基础的身份认证 ...
随机推荐
- handle句柄
若是你向我问起 Win32 程序设计中印象最深(最坑爹)的一个概念是什么,那么我会毫不犹豫地告诉你——句柄(Handles).究其原因,无论是 MSDN 还是 维基百科,对于“句柄”这个词的解说都显得 ...
- C# 递增操作符 ++ --
记混了好几次,记录一下 递增操作符出现在操作数之前:先递增后赋值 ; int result; result =++count; Console.WriteLine($"count:{coun ...
- .NET创建Windows定时任务
创建Windows定时任务教程 1.创建一个控制台应用程序,保证程序正常运行. 2.右键点击我的电脑->点击管理. 3.在计算机管理弹出框->展开计算机管理(本地)->展开系统工具- ...
- 如何在windows 7 上使用docker
在window7上面本来是支持使用docker的, 但是我们可以通过安装docker toolbox来实现在windows7上使用docker. 参考网址: https://docs.docker.c ...
- Golang fmt Printf 格式化参数手册/详解/说明
fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 格式“占位符”衍生自C,但比C更简单. fmt 包的官方文档对Printing和Scanning有很详细的说明.这里就直接 ...
- 《Netty 权威指南(第2 版)》目录
图书简介:<Netty 权威指南(第2 版)>是异步非阻塞通信领域的经典之作,基于最新版本的Netty 5.0 编写,是国内很难得一见的深入介绍Netty 原理和架构的书籍,也是作者多年实 ...
- centos7 配置nginx vim语法高亮
看了Nginx核心知识100讲,按照他的做法,没有配置成功,可以使用下面的方法: 下载nginx源码,http://nginx.org/en/download.html 这里下载的是:nginx-1. ...
- C#中的虚函数virtual
简单介绍虚函数virtual 在某基类中声明 virtual 并在一个或多个派生类中被重新定义的成员函数称为虚函数. 虚函数的作用就是实现多态性(Polymorphism),多态性是将接口与实现进行分 ...
- Mac OS中的”任务管理器“
在开发使用过程中,经常需要通过任务管理器来查看进程的一些情况以及杀掉一些进程,Mac中也有类似于Windows的”资源管理器“. 启动台->其他 找到”活动监视器“ 活动监视器即是”任务管理器“ ...
- 【软件工程第三次作业】结对编程:四则运算( Java 实现)
1. GitHub 地址 本项目由 莫少政(3117004667).余泽端(3117004679)结对完成. 项目 GitHub 地址:https://github.com/Yuzeduan/Arit ...