【业务设计题】分析思路

一:背景
如何实现短链系统?
如何实现轨道交通系统?
如何实现实时弹幕系统?

二:分析思路
【分层架构】数据层、决策层、执行层、视图层等(总分结构、一对多结构。。)
数据层:数据怎么获取,数据怎么存储(索引加快查询速度、ES等,内存优化压缩、安全性加密等等)
处理层:数据层的组装部分,组装不同的数据进行处理。可能为组装、过滤、排序、映射等。
执行&决策层:接受视图层的数据,分析数据的来源,编排如何处理。
视图层:用户看到的真实数据。用户的需求,例如看到商品、点击商品、加购等等。
【业务分析】画出E-R图,抽象出系统程序流程。自上而下或者自下而上bfs思考业务整体的过程。
【稳定性】实时监控、支持水平垂直扩容、熔断降级、风控、日志、兜底、下游失败告警等
【效率和性能】支持多线程并发、异步、缓存、索引、CDN、RPC/HTTP协议优化、分片和批量调用下游。。。

三:提高系统性能的方式
1.批量
2.下沉
3.同步改异步
4.并行请求
5.分片

四:漏斗效率&提升CPU效率、资源
1.下沉,把过滤地方统一放到一处
2.重复计算的地方放到一个通用缓存
3.升级版本
4.先截断后填充物料,而不是先填充物料后截断。
5.走离线方案

五:项目设计题思路
基本上设计选型mq redis解决
技术优化就是异步、缓存、读写分离、索引等
一些坑点:一致性、

六:稳定性考虑
兜底、降级、监控、限流

七:一致性解决方案
分步骤的最终一致性:rocketmq、版本号
参考:
https://www.bilibili.com/video/BV1CP4y1V7dn/?spm_id_from=333.999.0.0&vd_source=282955649f92cc8793739db9b1769bef

https://www.bilibili.com/video/BV1Fr4y1v7NU/?spm_id_from=333.999.0.0

完整一致性:加锁、分布式事务
参考:https://www.bilibili.com/video/BV1rT4y117sw/?spm_id_from=333.999.0.0&vd_source=282955649f92cc8793739db9b1769bef

八:提高水位的方法
1.放开自动扩缩容限制
2.线程池调参

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值