(十六)服务化:微服务架构,必须搞定高可用!
总结:高可用,是分布式系统架构设计必须考虑的因素
含义:通过减少系统不能提供服务的时间
方法论:集群冗余+故障自动转移
细节:
(1)“端”到“反向代理” ##反向代理集群冗余+故障自动转移(keepalived+virtual IP)
(2)“反向代理”到“站点应用” ##站点层冗余+反向代理配置多台站点
(3)“站点应用”到“微服务” ##服务集群冗余+站点应用的服务连接池
(4)“微服务”到“缓存” ##memcache集群+cache client、redis主从集群+哨兵sentinel(缓存高可用需求较少,避免“雪崩”压垮数据库即可【缓存代理+缓存水平切分】)
(5)“微服务”到“读库” ##读库冗余+数据库的连接池
(6)“微服务”到“写库” ##写库冗余+故障自动转移(keepalived+virtual IP)
常见微服务分层架构