一次网络请求中的流量分发过程 | 京东云技术团队

2025-12-13 0 226

1. 摘要

现代的企业级或互联网系统往往需要进行流量规划,达成透明多级分流。流量从客户端发出到服务端处理这个过程里,流经的与功能无关的技术部件有(达成 “透明分流” 这个目标所采用的工具与手段):客户端缓存、域名服务器、传输链路、内容分发网络、负载均衡器、服务端缓存。透明分流带来的价值:高可用架构、高并发。

本文主要介绍流量规划中的网络请求过程过程及:

第一部分:对一次网络请求的过程作简要介绍,然后介绍自己目前了解到的前端网络组件搭配方式、后端网络组件搭配方式

第二部分:介绍 LB 负载系统 、vip 与 rip 的映射关系

第三部分:介绍内网域名解析及公网域名解析

2. 网络请求过程

通用请求过程及请求过程名词解释来源于: https://cf.jd.com/pages/viewpage.action?pageId=766717554

2.1 通用请求过程

一次网络请求中的流量分发过程 | 京东云技术团队

2.2 请求过程名词解释

rip: 真实 ip,指虚拟机或容器 ip

vip: 虚拟 ip,不可跨机房,online 申请,负载、自动探活等功能,分公网 vip 与内网 vip

内网: 专指机房内部,严格的防火墙策略,内网之间无防火墙,可申请内网 vip 提供负载均衡供应用间互访;内网≠办公网

办公网: 办公区个人电脑网络,通过反向代理访问内网机房应用

公网: 互联网用户网络,通过 DNS + 公网 vip 访问内网机房应用

备注(自己理解 ,有可能理解不正确):

公网 vip 即公网虚拟 ip,虚拟不是说公网上找不到这个 ip,虚拟是相对于服务器 ip(rip)来说的,vip 不直接承担业务逻辑

公网 VIP 在公网真实存在、内网 vip 在公司内网真实存在

2.3 前端网络组件搭配方式

引用链接: http://jdthelp.jdos.jd.com/help/bestpractice/multi-web-demo.html

外网访问需满足如下图架构:VIP 后面挂 jen-nginx 来代理前端的主应用,jen 代理后面挂静态应用 1~N

一次网络请求中的流量分发过程 | 京东云技术团队

测试环境:多个前端项目可能存在下列架构方式: 域名 -> VIP -> JEN 代理(根据不同域名访问不同文件夹下的文件)-> 静态应用

一次网络请求中的流量分发过程 | 京东云技术团队

2.4 后端网络组件搭配方式

后端应用从调用方式来说分为两种 (http 调用 JSF 调用)

前端应用 —(协议 http 或者 https)— 后端前置应用 –(协议 jsf 私有协议)—-JSF 微服务应用

后端前置应用 —–jsf 微服务应用,之间的负载由消费者来决定,所以一般无须关注这两者之间的负载。

方式 1: vip 下的负载(LB 负载系统) + Nginx

一次网络请求中的流量分发过程 | 京东云技术团队

方式 1 备注:

VIP 下可以直接挂载服务器,这里 Nginx 不是必须的,除非你需要 nginx 提供的功能(除了负载)。

如果你仅仅是用 nginx 来做负载,那么请去除 nginx 组件,没有必要加一这个组件,集团的 vip 的 LB 已经包含负载功能,不要加重系统的复杂性。

方式 2:容器 K8S 层面的负载

vip 提供的 LB:

vip 提供的 LB 下是直接挂机器 IP,其中多个 ip 之间没有分组的概念,并且没有探活机制

每次上线需要摘掉负载下的机器,上线完成后,再把机器挂上去

行云部署 – 高级功能 – 负载均衡 ( 容器 k8s 层面的负载 ) 优点:

有机器分组的概念: 按照机房或者 机房 + 机房集群的维度分组后,每个分组申请自己的负载均衡。

具有探活机制: 设置健康探活路径,针对负载进行探活。每次上线无须摘掉负载下的机器。

一次网络请求中的流量分发过程 | 京东云技术团队

3. LB 负载系统简介

其实吧,vip 本身就是个 ip,没有多少真正的价值。vip 可以理解为是集团 LB 负载均衡的入口 ip,而 LB 负载均衡才是真正的分流组件。

vip 是系统自动分配复用的(vip 资源珍贵,系统分配的 vip 有可能复用),LB 负载均衡有两种分流规则:

1. 分流规则的实现方式

分流规则两种实现方式,默认规则、专用规则。

默认规则:面向域名,流量接入到后端集群。此为模板,可选择应用范围。

专用规则:面向 VIP,可为某 VIP 独立指定后端集群。 其中专用规则优先级高。

默认规则、专用规则两者关系:

共同点 不同点
默认规则面向域名的一个端口有且只有一条分流规则 专用规则面向 VIP 的一个端口有且只有一条分流规则 默认规则必须存在; 专用规则优先级高; 专用规则无设置时,继承默认规则指向的后端

3.1 默认规则: 默认分流规则:域名 + 端口 + 集群,分流规则唯一性

备注: 系统分配的 vip 有可能复用

在默认规则中, 假设系统分配的 vip 都是 111.111.111

域名 A (www.a.jdcom)+ 域名的一个端口 port (80) 通过配置的 vip (111.111.111) 将请求转发到 后端集群 A。

域名 B (www.b.jd.com) + 域名的一个端口 port (443) 通过配置的 vip (111.111.111) 将请求转发到 后端集群 B。

3.2 专用规则: 面向 vip 的一个端口有且只有 1 条分流规则

备注:(猜测 不确定):专用规则中的 vip 可能不是复用的。

一次网络请求中的流量分发过程 | 京东云技术团队

备注:一个 VIP 也可以用多个端口,比如 HTTP 是 80 和 443,TCP 是 2000-2014

4. vip 和 rip 的映射关系 (重要 非常重要)

一对一:一个机房,一个 vip 对应一个 rip

一对多:一个机房,一个 vip 对应多个 rip

多对多: 多个机房,每个机房的 vip 对应 其机房下的多个 rip

4.1 vip 下挂载 rip 的约定

  1. vip(机房入口)是机房维度的,当然如果说 vip 出问题了,一般情况下就是机房出问题了,这个出现的几率会比较小。

  2. vip 是机房维度的,但是 vip 下挂哪些机器 是由研发人员决定的,因此 vip 下的机器是有可能跨机房的。但是研发人员应该 根据机房视图( 机器的机房所在地 )来对应此所在地的机房入口( vip ),应尽可能遵守 这个规定。

4.2 为什么要遵守这个约定呢?

1. 尽可能缩小问题影响的范围: 如果你 VIP 下的机器跨机房,如果 Vip 出问题,导致多个机房的机器都无法接收流量

2. 尽可能匹配断网演练的目标: 机房断网演练,估计 VIP 也不会让流量进入到下一层,如果你 vip 下挂载跨机房的 rip,直接让 机房的断网演练,变成了 跨机房演练(因为多个机房的机器不会接收到流量)

5. 内网域名解析(机房视图与机房入口说明)

  1. 内网域名解析时: vip 是根据 机房入口(目前有 廊坊 vip 马驹桥 vip 印尼 vip) 走的。

  2. 每个视图必须解析。 廊坊视图 —> 廊坊 VIP,马驹桥视图 —> 马驹桥 VIP,其他的视图 —> 选择马驹桥或者廊坊 VIP(必须指向线上可用 VIP)

  3. 为优化机房内访问,优先选择本机房 VIP。

  4. 考虑到旧的机房已下架或者正在下架,旧机房优先选择廊坊、马驹桥 VIP,国外应用优先选择国外的 VIP。

6. 公网域名解析

pop 入口 在计算机网络中,pop 表示入网点(pop),pop 位于网络企业的边缘外侧,是访问企业网络内部的进入点,外界提供的服务通过 pop 进入,这些服务包括 Internet 接入,广域连接以及电话服务(PSTN)。

pop 入口 :新应用上线时应该申请入网点(pop)处的 vip。

域名解析:

不需要 VIP: 直接填写自己的公网 IP

需要 VIP:

  1. 请提前申请 POP 入口的 VIP

  2. 解析前请线下绑定 host 测试 VIP 业务可用性

  3. 按照运营商对应的 POP 入口 VIP 进行解析

7. 总结

简单的请求过程最实用,实用的请求过程最简单。

用简单实用的搭配方式满足流量分发,不要随意搭配,增加系统的复杂性。

作者:京东保险 张江涛

来源:京东云开发者

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 一次网络请求中的流量分发过程 | 京东云技术团队 https://www.zuozi.net/36280.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务