美文网首页网络
对接入层进化史的一些个人思考

对接入层进化史的一些个人思考

作者: goldenJetty | 来源:发表于2019-03-07 21:28 被阅读67次

此文想阐述下自己对接入层架构演变的一些个人思考。

一、演进过程的思考

1、单体架构

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

缺点
1)当到达 Web Server 的性能瓶颈时,无法扩容
2)当 Web Server 宕机后整个系统就挂了

2、DNS 轮询

说明
为了解决 Web Server 的性能瓶颈问题,于是进行了横向扩展,于是最简单的 DNS 轮询便派上了用场。

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

优点
1)简单并且零成本,只需要增加 DNS Server 的 IP 解析地址即可
2)解决了 Web Server 性能瓶颈的问题

缺点
1)暴露了太多的外网 IP
2)DNS 的解析需要一定的生效时间
3)如果有一台 Web Server 宕了,但是此时的 DNS Server 并不知道,所以会对部分功能模块产生影响

3、反向代理

说明
中间加了一层反向代理层,以 Nginx 为例,对整个系统性能的提升是很明显的。

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

优点
1)只需要暴露一个外网 IP 地址即可
2)如果有一台 Web Server 宕了,此时 Nginx 就不会将请求转发给这台服务器
3)Web Server 扩展变得更加简单

缺点
1)Nginx 变成了单点,如果出故障,则整个服务变得不可用
2)因为多了一个请求转发的过程,请求时间略微增大

4、keepalive

说明
对反向代理层进行改造,新部署一台 Nginx 服务,并使用 keepalive 技术提供相同的虚拟 IP (VIP),此时保障了 Nginx 的高可用。

优点
1)增加了 Nginx 的高可用性

缺点
1)其实 Nginx 此时还是单点使用,资源占用率只有 50%,存在资源浪费的现象

5、Lvs/F5

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

缺点
1)成本变高,F5 需要进行购买
2)比如百度、Google 等日PV超级大的系统,瓶颈还是会出现在反向代理层

6、 Lvs/F5 + DNS 轮询

说明
其实不管是 Nginx 也好,F5 也好,最终都是有性能瓶颈的,最好的解决办法仍然是水平扩展,一台不行我上两台不就好了,两台不行我就上三台,所以最终的方案还是使用 DNS 轮询来解决。

二、总结

  1. 谈一谈反向代理层:反向代理层是服务端的统一入口,屏蔽了服务端的所有细节,性能很重要
  2. 关于负载均衡:负载均衡的算法多种多样,比如 IP 哈希、轮询、增加权重等
  3. 所有所有的一切,都围绕着很重要的一个点:高可用
  4. 很多时候问题的解决,还是需要使用到最最基本的技术,所有的轮子都是建立在基础之上的
  5. 技术永远没有最好,只有更高,更新迭代的速度是很快的,所以我们都需要永远保持一颗对新技术的探索的好奇心

原文地址:http://www.jetchen.cn/access-layer-architecture-evolution/

相关文章

  • 对接入层进化史的一些个人思考

    此文想阐述下自己对接入层架构演变的一些个人思考。 一、演进过程的思考 1、单体架构 过程:1)浏览器的请求通过 D...

  • 核心网承载网接入网 && 核心层汇聚层接入层

    最近在看LTE网络,看的时候对核心网承载网接入网 && 核心层汇聚层接入层这两种分类方法产生了一些疑问。经...

  • 架构设计之:Nginx 职责分类

    Nginx职责分类 ● 接入层Nginx● 应用层Nginx 接入层Nginx 与业务无关 请求解析对http/h...

  • 承载网

    接入层:通常将网络中直接面向用户连接或访问网络的部分称为接入层,接入层目的是允许终端用户连接到网络,因此接入层交换...

  • 生成树协议--STP

    三层网络结构 核心层、汇聚层、接入层接入层:提供网络接入点,相应的设备端口相对密集。主要设备:交换机、集线器汇聚层...

  • 接入层

    接入层通常指请求流量的入口。 接入层存在的目的 负载均衡 非法请求过滤 请求聚合 缓存 降级 限流 A/B测试 服...

  • 核心层 汇聚层 接入层

    通常将网络中直接面向用户连接或访问网络的部分称为接入层,位于接入层和核心层之间的部分称为分布层或汇聚层,接入层的目...

  • [CCNA图文笔记]-19-交换机基础

    0×1.典型网络分层设计典型的网络分级设计模型将网络分为三层:接入层(Access):接入层负责接入终端设备,比如...

  • MySQL 简介

    一 架构 MySQL的架构实现主要可以分成三层:接入层,服务层,引擎层 接入层负责网络连接管理,授权认证等功能,包...

  • 接入层限流

    上一篇 <<<应用级限流[https://www.jianshu.com/p/a03e66bde840]下一篇 >...

网友评论

    本文标题:对接入层进化史的一些个人思考

    本文链接:https://www.haomeiwen.com/subject/fkqkpqtx.html