看了这篇文章:
《》
觉得写得蛮好的。
把提纲摘录一下。具体的内容可以去看原文。
“怀疑第三方,防备使用方,做好自己”。
1 怀疑第三方
1.1 有兜底,制定好业务降级方案
我自己的例子:数据传输通道不稳定,本地保存全量索引
1.2 遵循快速失败原则,一定要设置超时时间
1.3 适当保护第三方,慎重选择重试机制
我自己的例子:一个兄弟团队的服务,把基础服务钱包调用压垮了(雪崩)
2 防备使用方
2.1 设计一个好的api(RPC、Restful),避免误用
a) 遵循接口最少暴露原则
b) 不要让使用方做接口可以做的事情
c)避免长时间执行的接口
d)参数易用原则
e)异常
2.2 流量控制,按服务分配流量,避免滥用
2.3 我再加一个:安全性,比如外网统一要用https
3 做好自己
3.1 单一职责原则
3.2 控制资源的使用
3.2.1 CPU资源怎么限制?
a)计算算法优化
b)锁
c) 习惯问题
比如多线程的退出问题,是否产生死循环(HashMap线程不安全,HashTable线程安全)
d)尽量使用线程池
e)jvm参数调优
3.2.2 内存资源怎么限制?
看原文
3.3 避免单点
(完)