网站技术架构与性能优化(高可用架构)

2019-02-26  本文已影响0人  未_来_可_期
高可用架构

一.网站可用性度量

         网站可用时间占比(4个9)

二.高可用架构

     实现高可用架构的主要手段:

         数据服务的冗余备份和失效转移

     高可用架构的基本分层模型(与解决方案):

         应用层 => 负载均衡

         服务层 => 负载均衡

         数据层 => 冗余备份

三.高可靠的应用(应用服务器集群)

     一).使用负载均衡对无状态服务进行失效转移(心跳检测识别宕机服务器)

     二).session管理

             解决方案:

                 1.复制

                 2.绑定->原地址hash算法),一个客户端只会访问同一台服务器(session绑定技术)

                 3.cookie记录session(扯犊子)

                 4.session服务器:

                     利用独立部署的session服务器统一管理session

四.高可靠的服务(分布式部署可复用的公共服务模块)

     一).分级管理

             核心服务(功能)使用好的硬件,部署备份

     二).超时设置

             负载均衡实现失败转移

     三).异步调用

             异步消息队列

     四).服务降级

             拒绝服务及关闭服务

     五).幂等性设计

             对于特殊的业务场景设置其幂等

五.高可用的数据

     一).高可用数据的三层含义:

             持久性: 不会丢失

             可访问性: 失效转移

             数据一致性: 所有副本一模一样

     二).数据备份

             冷备份: 恢复到上一个保存点,啥也保证不了

             热备份:

                         异步 => 主同从异

                         同步 => 主从同写

     三).失效转移

             失效确认:

                         心跳检测

                         应用程序访问失败报告 => 收到报告后还需进行一次心跳检测,以免误报

             访问转移:

                         重新路由

             数据恢复:

                         宕机恢复后恢复数据

六.高可用网站的软件质量保证

     一).网站发布 => 部分宕机发布

     二).自动化测试 => 自动化测试工具

     三).预发布验证 => 预发布服务器(不接入负载均衡,外网无法访问)

     四).代码管理 => git

     五).自动化发布 => 火车发布模型

     六).灰度发布 => 渐进式发布

上一篇下一篇

猜你喜欢

热点阅读