架构思想
2022-03-02 20:46:28 0 举报
AI智能生成
架构设计基础常识
作者其他创作
大纲/内容
细化场景,分而治之
读写分离
同步与异步:在于消息通信机制
阻塞与非阻塞:在于程序等待调用结果时的状态
取长补短,结合使用
各种编程方式
解耦思想
解的什么藕?业务解耦、系统解耦、技术解耦、团队解耦、数据解耦...
实现方式:明确边界,封装内部变化
Push VS Pull
面向失败设计
性能&拓展性
性能:用户(外部)
短RT/低延迟
高吞吐
较低计算资源占用率
扩展性:系统(内部)
集群规模扩展性:线性增长
地理扩展性:抵消地理因素的延迟
管理扩展性:集群数量的上升不会导致管理复杂度快速上升
性能-延时&吞吐量
延迟
什么是延迟?
延迟的数量级
吞吐量
存储-可用性&一致性
可用性
CAP 理论
CP VS AP
实现方式
故障自动切换
主从切换:工作到备用切换
主主切换:双工作切换
缺点
冗余
主从复制-读写分离
主主复制-读写不分离
条带化写入
一致性
弱一致性
强一致性
最终一致性
写扩散与读扩散该如何优化应对?
写扩散(Push)优化
少写点:设置上限,微信好友5000个
慢慢写:限流策略,X分钟内完成消息发布
快点存:优化存储策略,采用NoSQL或大数据方案
读扩散(Pull)优化
少点读:增加轮询间隔,减少请求次数
少点读:增加验证码,分散时间,减少机器人刷票
慢慢读:MQ削峰填谷,超长队列直接拒绝
快点读:服务端增加缓存,优化查询效率
异步
任务队列
消息队列MQ
基础概念
估算数据 - 2 的次方表
并发 & 并行
并发
并行
错误 & 异常
错误
异常
示例
0 条评论
下一页