高可用性(稳定性)
![](https://img-blog.csdnimg.cn/20190716185824416.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpX3hpYW9fbWluZw==,size_16,color_FFFFFF,t_70)
判断指标
传统的判断是否高可用的指标是看一段时间内停机时间在总运行时间的占比,1个9是90%的时间可用,2个9是99%的时间可用
3个9是千分之一的时间不可用。
科学的衡量指标是影响的请求量在总请求量中的占比。晚上没人使用的时候停机和白天使用高峰期停机影响程度是不一样的。
主要手段
一服务冗余
服务的硬件和软件总是会出问题的,所以在整个业务链路中,要保证每个节点的服务都是多份冗余,一旦一台服务挂掉,
可以迅速把流量切换到其他冗余服务器。
二无状态化
要想做到一个节点多份冗余,就要是服务无状态化,这样既可以做到快速的流量分流,也可以快速的伸缩服务器数量。现在流行的dock容器就是
为快速方便扩容而生的。
三幂等设计
对同一个请求多次重复提交,得到的结果应该是一样的。
四录入验证机制
用户是万恶的,如果你不能对录入的内容进行合理的检查和限制,你根本不知道你的用户会在你的系统中做出什么的举动。
五超时机制
六负载均衡
根据相关负载均衡算法对流量进行合理的分配。(狭义上的负载均衡nginx F5都可以做)
如果一台服务器挂掉(假死,内存溢出等)&