打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
高可用架构设计的六个方法

在架构设计之初,要避免单点故障,路由、防火墙、负载均衡、反向代理及监控系统等在网络和应用层面上必须全部是冗余设计,以此来保证最佳的可用性。下面介绍一些提高系统可用性的常规方法。

1.服务冗余

主备模式是传统的服务冗余方法之一,根据策略又可分为N+1、N+2 等模式。N+1的主备模式,即将两个设备绑成设备对儿。针对频繁变更的系统,单纯的主备模式不够用,由此建议至少部署N+2个实例。N+2的主备模式能够保证一个实例发生变更时,如果第二个实例发生故障,至少还有一个实例保证业务不中断。

2.负载均衡

负载均衡已经是高可用架构中重要手段,通过按权重负载均衡、按地域就近访问等手段提升系统的整体性能,避免因为过载而导致整个系统全地域失效。

3.服务无状态化

所谓无状态化是指每个服务实例的服务内容和数据都是一致的,如果服务是无状态的,可对服务随时进行扩缩容。目前微服务的主流趋势,有利于服务在各个容器云平台上的部署。如果服务是有状态的,那么逻辑处理是依赖于数据的,应该将“有状态”的数据部分剥离出来,借助擅长数据同步的中间件使数据实现集中管理,保证数据的一致性,如图1所示。

图1 服务无状态化

 4.服务拆分

将一个大的系统拆分成多个独立的小模块,各个模块之间相互调用,是减少故障影响范围的主要手段,如图2所示。将复杂的业务进行拆分以降低复杂度。读写分离是拆分的一种方式。写请求依赖主数据设备,读数据依赖备数据设备。当出现故障时,可以只开发读服务,写服务暂时关闭,从而减少了故障的影响面。但需要关注数据的一致性问题。

图2服务拆分

 5.服务降级

服务降级是当故障发生时减少故障所造成的损失,常见的流量管理手段有限流和熔断。限流可以结合业务进行自定义配置,优先保证核心服务的正常响应,非核心服务可直接关闭。熔断是客户端在发出请求后,无法在固定期限收到预期目标,从而采取服务降级的手段。

6.服务监控

完善的监控系统对整个系统的可靠性和稳定性是非常重要的,可靠性和稳定性是高可用的一个前提。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
万字长文:云架构设计原则|
互联网架构之五高
视角丨数据中心不间断电源系统架构演进
海外数据中心分布式冗余配电架构简析
你知道什么是容灾吗?
每个架构师都应掌握的六大架构伸缩性原则
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服