如何做出健壮的系统设计

看了这篇文章:http://www.cnblogs.com/LBSer/p/4753112.html

如何健壮你的后端服务?

觉得写得蛮好的。

 

把提纲摘录一下。具体的内容可以去看原文。

 

怀疑第三方,防备使用方,做好自己”。

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 避免单点

 

(完)

posted @ 2017-01-16 15:04  blcblc  阅读(397)  评论(0编辑  收藏  举报