一分钟了解四层/七层反向代理 | 架构师之路

简介: 一分钟了解四层/七层反向代理

上一篇文章《session一致性架构设计实践》,对于其中的第三种“反向代理hash法”,不少同学留言问:

什么是四层反向代理hash

什么是七层反向代理hash

中间还有三层那里去了

...

今天花几分钟简单和大家解释一下。

场景:访问用户通过proxy请求被访问的真实服务器

路径:用户 -> proxy -> real-server

什么是代理?

回答:[proxy]代表[访问用户],此时proxy是代理。

例如:

在家访问xxoo网站,不希望xxoo网站trace到我们的真实ip,于是就找一个proxy,通过proxy来访问,此时proxy代表用户,网站以为proxy的ip就是用户的ip。

什么是反向代理?

回答:[proxy]代表[被访问的服务器],此时proxy是反向代理。

例如:

web-server希望对用户屏蔽高可用、屏蔽web-server扩展、web-server内网ip等细节,于是就找了一个proxy隔在中间,此时proxy代表web-server集群,用户以为proxy的ip就是被访问web-server的ip(web-server是集群,具体访问了哪个web-server,用户不知道),由于web-server集群有多台,此时反向代理服务器要具备负载均衡的功能。

一般怎么做反向代理,负载均衡?

回答:nginx/apache,lvs,F5

什么是四层(转发/交换),什么是七层(转发/交换)?

回答:这个是来源于OSI七层模型

大学“计算机网络”课程,之前都是用这个七层模型,新版教程用TCP/IP五层模型,这两个模型之间有一个对应关系如下:

可以看到,四层是指传输层,七层是指应用层。

更具体的,对应到nginx反向代理hash:

四层:根据用户ip+port来做hash

七层:根据http协议中的某些属性来做hash

为什么中间少了几层?

回答:OSI应用层、表示层、会话层合并到TCP/IP的应用层啦。

image.png

上面有四层,七层,那有没有二层,三层呢?

回答:有

二层:根据数据链路层MAC地址完成数据交换

三层:根据网络层IP地址完成数据交换

希望解答了大伙之前的一些疑问,希望这一分钟没有浪费,如果有描述不准确的地方,欢迎指正。

==【完】==

目录
相关文章
|
移动开发 前端开发 JavaScript
一些框架获取当前登录用户以及用户信息整理
无论是哪一个框架,获取当前登录用户信息是必不可少的,做一些功能的时候我们肯定得用到当前登陆者信息,所以我就查找了一下几个框架是如何获取当前用户信息,例如在若依框架中,用 this.$store.state.user就可以获取到。当获得的信息是极少时,不足够我们做其他功能时,当然你也可以自己在这个获取的基础上面增加所需信息即可。
一些框架获取当前登录用户以及用户信息整理
|
7月前
|
人工智能 自然语言处理 算法
AI辅助软件测试:几个关键路径
本文探讨大模型在软件测试中的实践应用:通过提示工程提升AI理解力,辅助需求分析、测试设计(用例生成/覆盖优化)、自动化脚本编写及环境构建,并分享单元/系统/回归等场景案例。强调AI是增效工具,需人工审核,不可替代测试工程师的领域判断与质量决策。(239字)
1341 3
|
6月前
基于遗传算法优化主动悬架模糊控制的Matlab实现
基于遗传算法优化主动悬架模糊控制的Matlab实现
278 0
|
8月前
|
BI 计算机视觉
值得信赖的考勤管理软件开发公司
考勤管理模块集成打卡、排班、请假、外出、统计五大功能,支持多方式打卡、智能排班、全流程假勤审批及自动化考勤分析,实现考勤数据精准采集、合规管控与薪酬联动,助力企业提升HR效率与管理规范性。
值得信赖的考勤管理软件开发公司
|
9月前
|
弹性计算 安全
⁉️ OpenClaw选择本地部署还是云端部署比较好?看完豁然开朗
OpenClaw支持本地与云端部署,但推荐云端部署:①云服务稳定公网访问,避免本地关机/断网导致中断,年费低至38元;②镜像一键部署,免环境冲突,升级扩容更便捷;③资源独立、弹性伸缩,无本地卡顿与安全风险。阿里云提供官方快速部署入口。
5209 5
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
618 16
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
机器学习/深度学习 传感器 算法
深度学习之环境感知系统
基于深度学习的环境感知系统是一类能够理解、感知和解读周围环境的智能系统。通过使用深度学习算法,这些系统可以分析多模态数据(如图像、音频、激光雷达数据等),实时感知环境的动态变化,为自动驾驶、机器人、智能家居等领域提供关键支持。
836 3
|
机器学习/深度学习 人工智能 自然语言处理
LLM-AI大模型介绍
大语言模型(LLM)是深度学习的产物,包含数十亿至数万亿参数,通过大规模数据训练,能处理多种自然语言任务。LLM基于Transformer架构,利用多头注意力机制处理长距离依赖,经过预训练和微调,擅长文本生成、问答等。发展经历了从概率模型到神经网络,再到预训练和大模型的演变。虽然强大,但存在生成不当内容、偏见等问题,需要研究者解决。评估指标包括BLEU、ROUGE和困惑度PPL。

热门文章

最新文章