高并发高可用架构设计之简介

设计一个好的架构需要满足:高并发、高性能、高可用 三个条件。
举一个实际的例子,如高并发方面要求QPS 大于 10万;高性能方面要求请求延迟小于 100 ms;高可用方面要高于 99.99%。
注:QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

高并发

高并发指的是系统能够同时处理大量请求。
解决高并发的首选方案当然是集群化部署啦,一台服务器的QPS是有极限的,那就多加几台服务器来分担了。
用了集群化部署,就要考虑如何将流量分发到集群,这就用到了负载均衡技术,目前流行的是 LVSNginx
常用的负载算法有轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接数法等。
注:LVS 负责网络四层协议转发,无法按 HTTP 协议中的请求路径做负载均衡,所以还需要 Nginx。

业务实战:对于千万级流量的秒杀业务,一台LVS扛不住流量洪峰,通常需要 10 台左右,其上面用DDNS(Dynamic DNS)做域名解析负载均衡。搭配高性能网卡,单台LVS能够提供百万以上并发能力。

高性能

高性能是指系统处理单个请求的响应时间,这个指标对用户来说是最直观的,也是最能提现代码编写的好坏的能力的。
影响系统性能有如下几个方面

  • 用户网络环境
  • 请求/响应的数据包大小
  • 业务系统 CPU、内存、磁盘等性能
  • 业务链路的长度
  • 下游系统的性能
  • 算法实现是否高效

高可用

高可用是指服务可用时长,以及故障恢复等。
解决方案有主备切换,减少故障时间;熔断,提供过载保护;限流,提供过载保护;降级等。

参考:https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247513248&idx=4&sn=88b61bd33f61bdae70e697bb229d5737&chksm=fbb13d5eccc6b44867a933514addc8b59098d5233fa39eccf912c0e43249745d26c378d0f3b1&scene=27

posted @ 2023-03-17 02:23  masy  阅读(99)  评论(0编辑  收藏  举报