接入层架构演变

1、单体架构

  • 请求过程

浏览器的请求通过 DNS Server 解析到指定的 IP 地址,浏览器通过 IP 地址访问 Web Server

  • 缺点

当到达 Web Server 的性能瓶颈时(瓶颈受到CPU,内存,io,带宽影响),无法进行扩容,并且单体架构容易宕机
 

2、多机部署,DNS轮询

为解决单机架构的瓶颈问题,使用DNS轮询便于横向扩展

  • 请求过程

浏览器的每次请求通过 DNS Server 会解析到不同的 IP 地址,浏览器通过不同的 IP 地址访问不同的 Web Server

  • 缺点

DNS轮询只解析出对应的IP地址,但无法保证IP地址对应的服务是否是健康的;同样没解决单机的性能瓶颈问提

3、Nginx反向代理

中间加了一层反向代理层,以 Nginx 为例,对整个系统性能的提升是很明显的,只需要暴露一个外网 IP 地址,相比于DNS轮询方式,如果有一台 Web Server 宕了,此时 Nginx 就不会将请求转发给这台服务器

  • 请求过程

 浏览器的请求通过 DNS Server 解析到指定的 IP 地址,该 IP 地址对应的是反向代理层,此时将请求转发到身后的 Web Server 集群中

  • 缺点

如果Nginx挂了,会倒是整个服务不可用,无法做到高可用

4、keepalive技术

对反向代理层进行改造,新部署一台 Nginx 服务,并使用 keepalive 技术提供相同的虚拟 IP (VIP),此时保障了 Nginx 的高可用。增加了 Nginx 的高可用性,其实 Nginx 此时还是单点使用,资源占用率只有 50%,存在资源浪费的现象

5、 Lvs/F5 + DNS 轮询

这种方法其实并不是解决 Nginx 的单点问题的,而是解决 Nginx 的性能问题的,因为 Nginx 只是软件层面的反向代理,而使用 Lvs 技术,或者 F5,它是实施在硬件层面的,性能相较于软件层面的 Nginx,抗压能力又上了一个新的台阶。并且几乎已经满足了所有公司的需求。

总结

(1)单体架构,要解决性能扩展问题,早期,使用DNS轮询架构;

(2)现在,可以使用nginx反向代理架构;

(3)反向代理,不高可用,需要进一步升级为高可用反向代理架构;

(4)高可用反向代理,扩充性能,可以使用多级(LVS&F5)反向代理架构;

(5)多级反向代理架构,扩充到无限性能,使用DNS轮询架构;

(6) DNS轮询,解决性能扩展问题;VIP+keepalived,解决高可用问题;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值