互联网服务的全链路架构流程解析
互联网服务的全链路架构流程

整体流程概述
用户访问服务时,会经历 **“DNS 解析→公网流量网关→内网业务网关→API 网关→业务服务→数据存储”的完整链路;同时,企业员工可通过VPN 从公网接入内网 **,访问内部服务。
核心概念与组件解释
1. 公网 vs 内网
- 公网:即公共互联网,是开放的网络环境,任何人都可通过互联网访问(如图中 Nginx 所在的网络层)。
- 内网:企业 / 机构的私有网络,与公网隔离,只有授权设备或通过 VPN 的外部设备才能访问(如图中 “内网服务器” 区域),用于保障内部数据和服务的安全性。
2. Nginx(流量网关)
- 位于公网入口,是用户请求进入系统的 “第一道门”。
- 核心作用:
- 负载均衡:将大量用户请求分散到后端服务,避免单台服务器过载;
- HTTPS 加密:通过 443 端口提供安全的加密通信;
- 安全防护:拦截恶意请求、实现防火墙策略等。
3. spring-cloud-gateway(业务网关)
- 位于内网入口,是业务逻辑的 “总调度”。
- 核心作用:
- 业务路由:判断请求属于哪个业务(如订单、商品),并转发到对应的服务;
- 鉴权管控:验证用户是否有访问权限(如登录态校验、权限判断);
- 流量治理:实现限流、熔断等,保障系统稳定性。
4. API 网关(规范数据结构,无数据库)
- 位于业务服务上层,是 “数据格式的统一层”。
- 核心作用:
- 数据格式标准化:将不同业务服务(如订单、商品)的零散数据,整理成统一的请求 / 响应格式(如固定的
code、message、data结构),方便前端或外部系统解析; - 数据校验:检查数据是否符合规则(如必填字段、数据类型),提前拦截无效请求;
- 无数据库:仅做 “数据中转和格式处理”,不存储业务数据,类似 “格式审核员”。
- 数据格式标准化:将不同业务服务(如订单、商品)的零散数据,整理成统一的请求 / 响应格式(如固定的
5. 业务服务与数据层
- 业务服务:包含订单服务、商品服务、用户服务,是具体业务逻辑的实现者,彼此通过 **RPC(远程过程调用)** 通信,实现服务间的协作。
- 数据存储:
MySQL(主/备):通过主从架构保证数据高可用,存储核心业务数据(如订单、用户信息);Redis:作为缓存层,提升热点数据的访问速度(如用户登录态、商品库存)。
6. DNS 解析与服务治理
- 内网的DNS 解析模块负责 “服务注册”(将业务服务的地址注册到 DNS)和 “服务监控”(检测服务是否正常运行),确保服务能被正确路由和调用。
7. VPN 与员工接入
- 企业员工可通过VPN 从公网接入内网,实现远程访问内部服务(如查询订单、管理商品),兼顾了远程办公的便利性与内网的安全性。
什么是DNS服务器?
DNS 服务器本质是域名系统服务器,核心作用是将易记的域名转换成计算机能识别的 IP 地址。
核心功能
- 互联网设备通信依赖 IP 地址(如 192.168.1.1),但 IP 地址难记,域名(如www.baidu.com)更易使用。
- DNS 服务器存储域名与对应 IP 地址的映射关系,接收用户访问请求后快速解析转换。
- 没有 DNS 服务器,用户需手动输入 IP 地址才能访问网站,极大增加使用成本。
示例

DDOS是什么?
DDOS是分布式拒绝服务攻击(Distributed Denial of Service)的缩写,是一种常见的网络攻击手段,核心目的是通过耗尽目标服务器或网络的资源,使其无法为合法用户提供服务。
攻击原理
攻击者会控制大量 “傀儡机”(被病毒感染的普通计算机,又称 “肉鸡”),同时向目标发起海量请求或流量,超过目标的处理能力上限,最终导致目标服务瘫痪。
五元组是什么?
五元组是用于唯一标识一个网络连接(或会话)的五个关键元素,是 TCP/IP 协议中识别网络流量的核心标识。
五元组的组成
五元组包含以下五个部分:
- 源 IP 地址:发送数据的设备(如你的电脑、手机)的 IP 地址;
- 目的 IP 地址:接收数据的设备(如百度服务器、游戏服务器)的 IP 地址;
- 源端口:发送方设备上的应用程序端口(由系统随机分配或手动指定,用于区分同一设备上的不同应用);
- 目的端口:接收方设备上的应用程序端口(如 HTTP 服务默认 80 端口、HTTPS 默认 443 端口);
- 协议类型:数据传输使用的协议(如 TCP、UDP、ICMP 等)。
DevOps 工具链(开发运维一体化工具)
| 工具 | 核心作用 |
|---|---|
| GitLab | 代码托管平台,支持团队协作开发、版本控制(类似 GitHub,但可私有化部署),是代码管理的 “仓库”。 |
| Nexus/Maven | Nexus 是私有仓库管理器,用于存储和管理项目依赖(如 Jar 包);Maven 是项目构建工具,通过配置文件自动下载依赖、编译代码、打包项目。 |
| Jenkins | 持续集成 / 持续部署(CI/CD)工具,可自动化执行 “代码编译→测试→打包→部署” 全流程,是 DevOps 的 “自动化引擎”。 |
| Sonar/SonarQube | 代码质量检测工具,可扫描代码中的漏洞、异味(如冗余代码)、规范问题,保障代码质量。 |
| Docker | 容器化技术,将应用及其依赖打包成 “容器”,实现 “一次构建,到处运行”,解决环境不一致问题。 |
| Harbor | 私有容器镜像仓库,用于存储、管理 Docker 镜像(类似 Docker Hub 的私有化版本),方便团队共享镜像。 |
| k8s(Kubernetes) | 容器编排平台,可自动化管理大量 Docker 容器的 “部署、扩容、运维”,是大规模容器集群的 “操作系统”。 |
高可用网络架构
| 组件 / 模块 | 核心作用 |
|---|---|
| 用户端(手机 / 电脑 / 平板) | 终端用户发起服务请求的入口。 |
| DDoS 防护 + 防火墙 | 网络安全层:DDoS 防护抵御流量攻击,防火墙拦截非法访问,是系统的 “安全守门人”。 |
| VIP(虚拟 IP)+ 主备 HAProxy+Keepalived | 负载均衡与高可用层:- HAProxy 是负载均衡工具,将用户请求分散到后端服务器;- Keepalived 实现 “主备切换”,当主 HAProxy 故障时,备机自动接管,保障服务不中断;- VIP 是对外暴露的 “虚拟 IP”,用户只需访问 VIP,无需关心后端实际服务器。 |
| Nginx+Keepalived 负载均衡集群 | 内层负载均衡:Nginx 作为轻量级 Web 服务器 / 反向代理,再次分发请求到具体业务服务;Keepalived 保障 Nginx 集群的高可用。 |
| CDN(内容分发网络) | 静态资源加速:将图片、视频等静态资源缓存到全球节点,用户就近访问,提升加载速度。 |
分布式日志管理平台的架构
| 组件 | 核心作用 |
|---|---|
| Filebeat | 日志采集工具(轻量级代理),部署在每台服务器上,负责收集应用、系统的日志文件,然后将日志数据发送到 Elasticsearch。 |
| ES(Elasticsearch) | 分布式搜索引擎与存储系统,用于存储、索引、检索海量日志数据,支持快速查询和聚合分析。 |
| Kibana+Grafana | 可视化分析层:- Kibana 是 Elastic 生态的可视化工具,可通过界面查询 ES 中的日志,生成图表、仪表盘;- Grafana 是通用型监控可视化工具,可对接 ES 等数据源,实现更灵活的日志和指标可视化。 |
服务治理与监控体系
| 组件名称 | 背景说明 | 核心作用 | 关键流程 |
|---|---|---|---|
| Nacos(服务发现注册 / 配置中心) | 阿里开源的服务治理平台,为微服务架构提供服务治理能力 | 1. 服务注册:业务服务将自身信息(IP、端口等)注册到 Nacos,形成服务清单2. 服务发现:其他服务可查询目标服务地址,实现服务间通信3. 配置中心:统一管理服务配置,支持动态拉取 | 业务服务向 Nacos 注册→其他服务从 Nacos 发现服务地址→服务动态拉取配置 |
| Spring Boot Admin 监控 | 专注于 Spring Boot 应用的监控工具 | 1. 采集服务运行状态(健康度、内存、接口耗时等)2. 可视化展示服务监控数据3. 及时告警服务异常(如宕机、性能瓶颈) | 通过 “服务监控” 链路,对接 Nacos 治理的服务,实现状态采集与可视化告警 |
