当前位置: 首页 > news >正文

接入层架构演变

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,解决高可用问题;
 

相关文章:

  • Android ProcessState init
  • 初中九年级学生体测准考证照片采集软件使用说明
  • Keras模型保存、加载介绍
  • JavaScript函数声明大比拼
  • 文献阅读(三)基于干旱强度和恢复时间的生态系统恢复力评估|《Agricultural and Forest Meteorology》
  • 极狐GitLab 如何使用文件导出迁移项目和群组?
  • 前端设置三行文本省略号,失效为什么?
  • 二叉树知识点
  • Jetson Xavier NX EMMC版本刷机
  • 局部和整体的关系
  • 前端 AI 开发实战:基于自定义工具类的大语言模型与语音识别调用指南
  • Origin绘图操作:点线图符号显示不全解决方法
  • eslint相关报错收集
  • DevExpressWinForms-TreeList-获取选中行数据
  • 低版的spring boot 1.X接入knife4j
  • 数据中台一分钟
  • 细说STM32单片机FreeRTOS互斥量及其编程实例
  • Leetcode刷题报告1——哈希表
  • Leetcode 3529. Count Cells in Overlapping Horizontal and Vertical Substrings
  • SSM书籍管理(环境搭建)
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 被算法重塑的世界,人与技术如何和谐共处
  • 国家发改委下达今年第二批810亿超长期特别国债资金,支持消费品以旧换新
  • 打工人的“小长假模式”,已经迫不及待地开启了
  • 柳州警方通报临牌车撞倒行人:扣留涉事车辆,行人无生命危险
  • 四川在浙江公开招募200名退休教师,赴川支教帮扶