Skip to main content

其他总结

高并发、高性能、高可用

高并发 我们使用 QPS(Queries Per Second,每秒查询率)来衡量系统承载能力。 架构策略有

  1. 负载均衡
  2. 池化技术
  3. 流量漏斗

高性能 性能直接影响用户的感官体验,访问一个系统,如果超过5秒没有响应,绝大数用户会选择离开。

  1. 高性能缓存
  2. 日志优化,避免IO瓶颈

高可用

  • MTBF(Mean Time Between Failure),系统可用时长
  • MTTR(Mean Time To Repair),系统从故障后到恢复正常所耗费的时间
  • SLA(Service-Level Agreement),服务等级协议,用于评估服务可用性等级。计算公式是 MTBF/(MTBF+MTTR)

一般我们所说的可用性高于 99.99%,是指 SLA 高于 99.99%。 其实就是 可用时间/可用时间 + 故障时间

  • 多云架构、异地多活、异地备份
  • 主备切换,如redis缓存、mysql数据库,主备节点会实时数据同步、备份。如果主节点不可用,自动切换到备用节点
  • 微服务,无状态化架构,业务集群化部署,有心跳检测,能最短时间检测到不可用的服务。
  • 通过熔断、限流,解决流量过载问题,提供过载保护
  • 重视web安全,解决攻击和XSS问题

外部接口大量超时,把整个系统拖垮,引发雪崩!如何解决?

使用熔断 我们在使用一些应用 到时候,经常可以看到,操作频繁,请稍后重试。就是触发了 熔断保护了

目前市面上的熔断框架很多,如:SentinelHystrixResilience4j 等,这些框架的设计理念都差不多。

网关的选型

常用的组件功能:

  • 黑名单拦截
  • 日志
  • 参数校验
  • 鉴权
  • 限流
  • 负载均衡
  • 路由转发
  • 监控
  • 灰度分流
  • 多协议支持
  • 熔断、降级、重试、数据聚合等

海量数据如何优化

  • 缓存加速
  • 读写分离
  • 垂直拆分
  • 分库分表
  • 冷热数据分离
  • ES助力复杂搜索
  • NoSQL
  • NewSQL

本地需要做的实验

  • ES 复杂搜索
  • MQ
  • 冷热数据分离
  • 主从备份
  • 网关配置
  • 长连接配置