分布式系统中的高可用若干问题

1、高可用常识
  • 系统不可用时间=故障修复时间点-故障发现时间;
  • 系统年度可用性=(1-不可用时间/年度时间)*100%;
  • 过载、断点、挖断光缆、误操作、代码质量问题、流程过于自动化;
  • 如何提高?硬件、环境,x86系统的可靠性比unix低一些;
  • 同城、异地负载,系统运维比较关键,适当巡检;
  • 系统监控与告警,自动修复;
2、打造高可用系统
  • 主备(Master-Slave、VIP;自动切换与手动切换);
  • 集群(高可用集群模式,负载均衡器,请求转发到后端节点(无状态节点)、共享集群配置、节点配置);
  • Kubernetes模式,docker容器进行配置(load balance,ServiceIP)
  • 颠覆的应用框架(kubernetes)。service load
  • 配置集中化、尽可能消除单点故障、尽可能服务无状态、自我检测/自我修复/恢复能力
3、容灾与异地双活
  • 传统的主备方式容灾方案——网络、存储、应用、数据库;
  • 异地双活数据中心(网络中心、存储双活、应用双活、数据库双活(数据库同步问题));
  • 淘宝数据增量同步(增量分发中心,实施数据同步基础设施DRC);

4、不可或缺的负载均衡机制

  • DNS(缓冲、客户端缓存、大粒度负载均衡)
  • 基于Tcp/IP的负载均衡机制;
  • 软件负载均衡机制(LVS、HA-Proxy、nginx);
    • HA-Proxy,同时维护5w连接,10Gb带宽,8种负载均衡,acl控制,4层or7层;
  • 基于定制的负载均衡算法(基于Zookeeper、Ice客户端负载均衡机制);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章