今天晚上头脑发热,突然想写点东西,可能文笔有限,但思想都在这里,可能不全,但是都是核心要领。
## 技术思想
A 永远是在【性能/可用性】和【稳定性/一致性】中去均衡
1、就像db中,脏数据刷磁盘的频率(性能),和丢数据的可能性(稳定性)
2、就像分布式系统中,修改业务数据同步是否及时(可用性),和数据同步完成(一致性)
这个根据业务场景来,去操作,没有绝对答案,有的业务可能需要强一致性(比如订单交易),有的
可能需要强可用性(商品信息)
B 问题要做归类
1、根据范畴分为:业务问题,系统问题
2、根据级别分为:严重,一般,轻量
一般架构层面遇到的一些问题,需要重点解决,系统可用性,安全漏洞,或者有些业务爆发的时候会发生,比如
RT 变慢,丢数据,资源枯竭,死锁,雪崩
C 留有后路
1、日志记录维度要全,链路点要多
2、采集,监控,预警(应用,中间件,容器,操作系统)
3、备份,恢复,要方便,可用
D 资源的评估和合理利用
1、阶段性的资源评估利用
2、根据业务压测
3、针对业务流量峰值做合理调配
4、木桶效应
5、性能调优是否需要进行(时间上允许,并且为公司节约成本)