.NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ 业务场景详解)--学习笔记
2021-01-11 21:41
1106 查看
2.6.5 RabbitMQ -- 业务场景详解
- 异步处理
- 应用解耦
- 流量削锋
- 日志处理
异步处理
- 串行方式
- 并行方式
- 异步方式
串行方式
_userRepo.Add(user); _emailService.Send(user); _smsService.Send(user);
并行方式
_userRepo.Add(user); var emailTask = _emailService.Send(user); var smsTask = _smsService.Send(user); await Task.WhenAll(emailTask, smsTask)
异步方式
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 的重要原因
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
相关文章推荐
- .NET 云原生架构师训练营(模块二 基础巩固 MySQL环境准备)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 更新和删除)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 聚合)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 REST && RESTful)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 配置)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 日志)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB API重构)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ HelloWorld)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 路由与终结点)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 HTTP管道与中间件)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 关系)--学习笔记
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
- PaddlePaddle-百度架构师手把手带你零基础实践深度学习-笔记01(代码详解)
- PaddlePaddle-百度架构师手把手带你零基础实践深度学习-笔记02(代码详解)
- .Net学习笔记8-.Net基础2 IO操作
- .Net学习笔记----2015-07-21(C#基础复习05,里氏转换)
- .Net学习笔记2-.Net基础1.2 循环与数组