高可用、高并发、高性能

57 阅读2分钟

前言

学习优秀的架构,学习优秀的人。

高可用

高可用目标

指标

  • 5个9(99.999%):代表一年不可用时间是5分钟。
  • 4个9(99.99%):代表一年不可用时间是50分钟。

要求

  • 3分钟定位问题。
  • 5分钟恢复业务。
  • 平均2个月最多发生一次问题。

高可用手段

1、接入层高可用

   1-1、异地多活

  •    跨国多活
  •    跨城多活
  •    同城多活

   1-2、智能DNS

   1-3、KeepAlive保活

  •    KeepAliveLVS
  •    KeepAliveNginx

   1-4、防范DDOS攻击

2、服务层高可用

   2-1、注册中心高可用(Nacos高可用地址切换)

   2-2、微服务实例数大于等于2

3、缓存高可用:代理模式、哨兵模式、cluster模式。

4、数据库高可用:代理型高可用、配置型高可用、客户端高可用、数据定期备份。

5、中间件高可用

    5-1、服务总线高可用

    5-2、反向代理高可用

    5-3、ES高可用

  • MasterNode高可用
  • DataNode高可用
  • 读写分离

    5-4、消息队列高可用

6、容错方案

6-1、客户端容错

6-2、错误重试机制

6-3、备用服务地址重试

7、运维与监控

7-1、立体化监控预警

  •   基础设施:虚拟机监控、容器监控、Nginx、数据库监控、缓存监控
  •   应用层监控预警:核心业务监控、ELK、调用链路监控、慢调用监控

7-2、定期巡检:接口自动巡检、假死自启动

高并发

高并发架构分类:

1、业务架构:业务分块、功能分块、功能分级(核心、非核心)。

2、模块架构:模块解耦、系统分层、垂直拆分。

3、数据存储架构:数据流量架构、数据容量架构。

4、流量架构

   4-1、理论分析

  •  流量规划:二八原则。
  • 参考能力:LVS(10w QPS)、Nginx(5w QPS)、Gateway(5k QPS)、MQ(10w QPS)、Tomcat(1k QPS)、Mysql(1.5k QPS)、Redis(5w+ QPS)、Hbase(7w+ QPS)、ES(7w+ QPS)。
  •  中间件规划:10w用户、1亿用户。

   4-2、实时检测:客户端监控、服务端监控。

5、部署架构

高并发架构实施

高性能

参考:

尼恩架构师的职业发展路径

尼恩架构师知识图谱

尼恩架构师哲学

尼恩3高架构知识宇宙