网站架构设计之高可用原则

作者:admin 日期:2020-06-27

在一些交易型网站架构设计之中,往往会涉及到高并发、高可用等原则。下面小编将简单概述下高可用原则,高可用原则一般分为下面四点:降级、限流、切流量、可回滚。

对于一个高可用服务,很重要的一个设计就是降级开关,在设计降级开关时,主要依据如下思路。

1.2可降级的多级都服务:比如服务调用降级为只读本地缓存、只读分布式缓存、只读默认降级数据

1.3开关前置化:如架构是Nginx、Tomcat,可以将开关前置到Nginx接入层,在Nginx层做开关,请求流量不回源后端Tomcat应用或者只是一小部分流量回源。

1.4业务降级:当高并发流量来袭,在电商系统大促销设计时保障用户能下单,能支付是核心要求,并保障数据最终一致性即可。

限流的目的是防止恶意请求流量,恶意攻击,或者防止流量超出系统峰值。可以考虑如下思路:

对于一个大型应用,切流量是非常重要的,比如多机房环境下某个机房挂了,或者某个机架挂了,或者某台服务器挂了,都需要切流量,可以使用以下手段进行切换。

3.2HTTPDNS:主要APP场景下,在客户端分配好流量入口,绕过运营商LocalDNS并实现更精准流量调度.

另外,有些应用为了更方便切换,还可以在Nginx接入层做切换,通过Nginx进行一些流量切换,而没有通过如LVS/HaProxy做切换。

版本化的目的是实现可审计可追溯,并且可回滚。当程序或数据出错时,如果有版本化机制,那么就可以通过回滚恢复到最近一个正确的版本,如事务回滚,代码库回滚,部署版本回滚,数据版本回滚,静态资源版本回滚等。通过回滚机制可以保证系统某场景下的高可用。

首页
电话
短信
联系