一张图带你了解前后端数据流向全过程

mark

1. 外部建立连接过程

①外网客户端访问 http://www.baidu.com/ -> 地址解析

DNS 解析顺序:本地内存缓存 -> /etc/hosts -> /etc/resolv.conf -> 网卡文件 -> DNS 服务器(迭代,递归两种方式获取 IP 和域名,DNS 协议既有 TCP 又有 UDP,53 端口)

②客户端和服务端建立连接

HTTP1.1建立长连接(请求头、请求行、请求体,方式(GET、POST)

③TCP三次握手过程

TCP 建立连接的过程称为三次握手,为了确认双方收发数据的能力

1.发送方向接收方发送SYN请求

⒉接收方接收到此请求后会主动回复一个ACK,并且同时也发送一个SYN请求

3.发送方接收到接收方发来的SYN请求后,给出一个ACK确认

2. 企业内部数据交互

①防火墙(软硬件)

通过流量过滤、ACL 访问控制、黑白名单、安全组、规则过滤、SNAT、DNAT 等方式控制连接请求并交给负载均衡器

②负载均衡器

LVS+Keepalived、Haproxy、SLB、硬件负载均衡器 …

负载均衡器将流量分发给对应的业务模块( NG+Keepalived 或 apache+Keepalived

  • harpoxy 的服务端中会有 socket 连接,haproxy 的进程监听、接收然后遍历配置文件,找到转发的配置(nginx/apache 的 keepalived VIP 地址),然后对数据报文进行封装和转发,最终转发到 NG/apache 的 VIP。

③流量分发

流量发送到 NG/apache 的 80 端口,会被监听 80 端口的后台进程捕捉到 -> 接待请求然后遍历对应的配置文件。( socket 连接被 NG/apache 对应的后台进程捕捉到然后交给服务程序处理)

  • 第一条路径

nginx+keepalived 中的 nginx.conf 匹配 location(location 最少有三种,location /,location /static,location (.+) .jsp ) , 匹 配 到 之 后 l o c a t i o n /

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值