常见高可用高性能高并发解决

  • html静态化,CMS常用的高并发解决方案,需要注意更新策略
  • 图片服务器分离(分担web 服务器i/o负载,为图片服务器设置针对性的缓存方案,减少带宽成本,提高平台的可扩展性,可随时增加图片服务器,提高图片吐吞能力)
  • 数据库分库分表、库表散列,比如用户表,奇偶分离,不同模块不同的数据库表,物理上也好做隔离
  • 缓存kv,redis、memcache组件的使用
  • 镜像
  • 负载均衡(nginx, haproxy, 硬件F5)
  • CDN
  • 服务降级(保证关键节点上的可用)
  • 限流(通过对并发访问请求进行限速或一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率,则可以拒绝服务、排队或等待,nginx的limit_conn模块,limit_req模块)
  • 集群(服务器集群,组件集群[redis等])
  • 分布式(mfs,codis等)
  • 超时重试
  • 隔离(线程隔离,进程隔离,读写隔离,动静隔离,机房隔离)
  • 主备方式:HA使用比较多的是keepalived,它使主机备机对外提供同一个虚拟IP,客户端通过vip进行数据操作,正常期间主机一直对外服务,宕机后vip自动漂移到备机上
  • 主从方式:一主多从,主从之间进行数据同步,当Master宕机后,通过Paxos, Raft从Slave中选举出新的Master继续对外服务,主机恢复后以slave的身份重新加入,读写分离也是其中一个目的