大家好,我是 Tom哥
作为互联网从业者,高并发一直是我们绕不开的一个话题。
那么高并发系统都有哪些经验,掌握核心技巧,你可以快速成为一个架构师,主导一些高访问量系统的架构设计
然后,升职加薪自然也就是水到渠成的事。
一、负载均衡
靠优化单台机器的内存
、CPU
、磁盘
、网络带宽
,使其发挥极致性能,已经不太现实。
正所谓 “双拳难敌四手,恶虎还怕群狼”,现在早已经是分布式时代,靠的是shu量
取胜,也称之为水平伸缩方案
这么多的系统,如何流量调度,这里的第一道入口就是负载均衡
负载均衡,它的职责是将网络请求 “均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况
通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。
常见的负载算法:
-
随机算法
-
轮询算法
-
轮询权重算法
-
一致性哈希算法
-
最小连接
-
自适应算法
常用负载均衡工具:
-
LVS
-
Nginx
-
HAProxy
对于一些大型系统,一般会采用 DNS+四层负载+七层负载的方式进行多层次负载均衡。
二、分布式微服务
过去是一个大而全的系统,面对复杂的业务规则,我们采用分而治之
的思想,通过SOA架构,将一个大的系统拆分成若干个微服务,粒度越来越小,称之为微服务架构
每个微服务独立部署,服务和服务间采用轻量级的通信机制,如:标准的HTTP协议、或者私有的RPC协议。
微服务特点:
-
按照业务划分服务,单个服务代码量小,业务单一,容易维护
-
每个微服务都有自己独立的基础组件,例如数据库