_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 的重要原因
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。