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

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

作者头像
郑子铭
修改2021-01-23 14:58:29
修改2021-01-23 14:58:29
26400
代码可运行
举报
运行总次数:0
代码可运行

2.6.5 RabbitMQ -- 业务场景详解

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

异步处理

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

串行方式

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

并行方式

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

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

异步方式

代码语言:javascript
代码运行次数:0
复制
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 的重要原因

课程链接

.NET云原生架构师训练营讲什么,怎么讲,讲多久

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.6.5 RabbitMQ -- 业务场景详解
    • 异步处理
      • 串行方式
      • 并行方式
      • 异步方式
    • 应用解耦
    • 流量削锋
    • 日志处理
  • 课程链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档