前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >.NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ 业务场景详解)--学习笔记

.NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ 业务场景详解)--学习笔记

原创
作者头像
郑子铭
修改于 2021-01-12 02:18:27
修改于 2021-01-12 02:18:27
33000
代码可运行
举报
运行总次数:0
代码可运行

2.6.5 RabbitMQ -- 业务场景详解

  • 异步处理
  • 应用解耦
  • 流量削锋
  • 日志处理

异步处理

  • 串行方式
  • 并行方式
  • 异步方式

串行方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
_userRepo.Add(user);
_emailService.Send(user);
_smsService.Send(user);

并行方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
_userRepo.Add(user);

var emailTask = _emailService.Send(user);
var smsTask = _smsService.Send(user);
await Task.WhenAll(emailTask, smsTask)

异步方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var user = await _userRepo.Add(user);

_eventBus.publish(new UserRegisteredEvent(){ userId = user.Id })

return user;

应用解耦

订单系统 调用 库存系统

改为

订单系统 写入 消息队列

库存系统 订阅 消息队列

实现解耦

流量削锋

用户的请求,服务器接收后,首先写入消息队列。假如消息队列的长度超过最大数量,则直接抛弃用户请求或跳转到错误页面

秒杀业务根据消息队列中的请求信息,再做后续处理

日志处理

kafka:接收用户日志的消息队列

Logstash:日志解析,统一成 JSON 输出给 Elasticsearch

Elasticsearch:实时日志分析服务的核心技术,一个 schemaless,实时 的数据存储服务,通过 index 组织数据,兼具强大的搜索和统计功能

Kibana:基于 Elasticsearch 的数据可视化组件,超强的数据可视化能力是众多公司选择 ELK stack 的重要原因

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
.NET 云原生架构师训练营(模块二 基础巩固 消息队列 介绍与基础)--学习笔记
2、异步:消息堆积能力;发送方接收方不需同时在线,发送方接收方不需同时扩容(削峰)。
郑子铭
2021/01/08
3060
.NET 云原生架构师训练营(模块二 基础巩固 消息队列 介绍与基础)--学习笔记
.NET 云原生架构师训练营(模块二 基础巩固 消息队列 介绍与基础)--学习笔记
2、异步:消息堆积能力;发送方接收方不需同时在线,发送方接收方不需同时扩容(削峰)。
郑子铭
2021/01/13
3350
.NET 云原生架构师训练营(模块二 基础巩固 消息队列 介绍与基础)--学习笔记
应用消息中间件设计可以解决哪些实际问题?
消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。消息中间件到底该如何使用,何时使用这是一个问题,胡乱地使用消息中间件增加了系统的复杂度,如果用不好消息中间件还不如不用。
搜云库技术团队
2019/10/18
7710
「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用
在上篇文章中,我们已经用到了MQ,用于实现配置自动刷新。接下来,就具体说说MQ的应用场景以及RabbtMq的基本使用。
KEN DO EVERTHING
2019/04/24
5100
「 从0到1学习微服务SpringCloud 」07 RabbitMq的基本使用
消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题
李海彬
2018/07/26
9160
消息队列使用的四种场景介绍
.NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ Masstransit 详解)--学习笔记
消费者的类型包括:普通消费者,saga,saga 状态机,路由活动(分布式追踪),处理器 handlers,工作消费者 job comsumers
郑子铭
2021/01/28
5960
Spring Boot:使用Rabbit MQ消息队列
消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息,对消息队列有读权限的进程则可以从消息队列中读走消息,而消息队列就是在消息的传输过程中保存消息的容器,你可以简单的把消息队列理解为类似快递柜,快递员(消息发布者)往快递柜(消息队列)投递物件(消息),接受者(消息订阅者)从快递柜(消息队列)接收物件(消息),当然消息队列往往还包含一些特定的消息传递和接收机制。
朝雨忆轻尘
2019/07/04
2.2K0
Spring Boot:使用Rabbit MQ消息队列
RabbitMQ管理平台与主流MQ框架
MQ(Message Queue)消息队列,是基础数据结构中“先进先出(FIFO)”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。  从字面意思上看,本质是个队列,只不过队列中存放的内容是message而已
用户10196776
2023/10/17
5170
RabbitMQ管理平台与主流MQ框架
大型网站架构系列:分布式消息队列(一)
精彩早知道 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务(见第二篇:大型网站架构系列:分布式消息队列(二)) 常用消息队列(见第二篇:大型网站架构系列:分布式消息队列(二)) 参考(推荐)资料(见第二篇:大型网站架构系列:分布式消息队列(二)) 本次分享总结(见第二篇:大型网站架构系列:分布式消息队列(二)) 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
小小科
2018/05/03
1.2K0
大型网站架构系列:分布式消息队列(一)
微服务架构 ——Kafka消息队列
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题,具有高扩展性、可恢复性、送达保证、顺序保证等特点,可以实现高性能、高可用、可伸缩和最终一致性架构。目前在生产环境,使用较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ、Redis等。
conanma
2022/04/07
2.7K0
爬虫架构 | 消息队列应用场景及ActiveMQ、RabbitMQ、RocketMQ、Kafka对比
前言:在之前的业务中,使用了Kafka和RabbitMQ两种消息队列,这篇文章来做一个总结。 消息队列中间件是分布式系统中重要的组件,主要实现异步消息,应用解耦,流量削峰及消息通讯等功能。 下面举例
黄小怪
2018/05/21
5.1K0
01、RabbitMQ入门
4.创建Rabbit配置类RabbitConfig,配置类主要用来配置队列、交换器、路由等高级信息
天蝎座的程序媛
2023/10/17
3260
01、RabbitMQ入门
消息队列Kafka - 应用场景分析
一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
conanma
2022/04/07
9240
RabbitMQ 简介以及使用场景
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
海向
2019/09/23
1.1K0
RabbitMQ 简介以及使用场景
分布式消息队列
一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种
用户1263954
2018/01/30
3K0
分布式消息队列
相关推荐
.NET 云原生架构师训练营(模块二 基础巩固 消息队列 介绍与基础)--学习笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验