核心概念
面向 NGINX、F5 等产品用户的矩尺平台快速入门。如果您熟悉 NGINX 配置,读完本文即可建立完整的心理模型。需要完整迁移示例和操作步骤,请参考 从 NGINX 迁移到矩尺。
一分钟看懂矩尺
以下是一个典型 Web 网站的 NGINX 配置与其对应的矩尺配置对照:
NGINX 配置:
upstream backend_pool {
server 10.1.9.114:8000 weight=5;
server 10.1.9.117:8000 weight=5;
}
server {
listen 80;
server_name www.example.com;
location /api/ {
proxy_pass http://backend_pool;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static/ {
root /var/www;
}
location / {
return 301 https://www.example.com/;
}
}矩尺平台配置(等效):
虚拟服务 "www-http"
协议: HTTP, 监听: 0.0.0.0:80
服务域名: www.example.com
├── 分发规则 "api-rule"(中优先级)
│ 分发策略: URL 前缀 = /api/
│ 处理方式: HTTP代理
│ 服务器池: backend_pool(节点 10.1.9.114:8000 / 10.1.9.117:8000)
│ 七层策略: http-policy(含 Host 传递、X-Real-IP 等配置)
│ 会话保持: 按需选 Cookie 插入或源地址
│
├── 分发规则 "static-rule"(中优先级)
│ 分发策略: URL 前缀 = /static/
│ 处理方式: 静态资源 → static-resource-pkg
│
└── 默认分发规则
处理方式: 重定向 → https://www.example.com/关键差异: NGINX 依赖配置文件中的书写顺序 + 修饰符(= ~ ^~)来决定匹配优先级,矩尺通过显式优先级(高/中/低)+ URL 类型优先级(正则 > 完全 > 前缀)+ 先后顺序三条规则裁决。详见 分发规则匹配逻辑详解。
核心概念详解
虚拟服务 ↔ NGINX server 块
虚拟服务是负载均衡对外提供服务的业务单元,定义了监听地址、端口和协议。相当于 NGINX 的一个 server { listen ... } 块。
| 矩尺 | NGINX |
|---|---|
| 虚拟服务(HTTP 类型) | server { listen 80; } |
| 虚拟服务(HTTPS 类型) | server { listen 443 ssl; } |
| 虚拟服务(TCP 类型) | server { listen ...; } 在 stream {} 块内 |
| 服务域名 | server_name |
| 虚拟服务绑定流量组 | 多台 NGINX 共用 keepalived VIP |
详细文档:虚拟服务用户手册
服务器池 ↔ NGINX upstream 块
服务器池定义了一组后端服务器节点以及负载均衡算法、健康检查策略。相当于 NGINX 的 upstream 块。
| 矩尺 | NGINX |
|---|---|
| 服务器池 | upstream backend { ... } |
| 服务器节点 | server 10.1.9.114:8000 weight=5; |
| 负载均衡算法 | least_conn; / ip_hash; 等 |
| 健康检查 | 无内置(需第三方模块),矩尺内置 20+ 种协议 |
| 虚拟组 | 无直接对应(按组批量调权) |
矩尺优势: NGINX 开源版 upstream 没有内置健康检查(需 nginx-plus 或第三方模块),而矩尺内置了丰富的健康检查策略,且支持 AND/OR 多策略协作。
详细文档:服务器池用户手册
分发规则 ↔ NGINX location 块
分发规则决定了匹配到的请求该如何处理——转发到哪个服务器池、返回重定向、返回静态资源还是返回错误码。
| 矩尺 | NGINX |
|---|---|
| 分发规则 | location /api/ { ... } |
| 处理方式:HTTP代理 | proxy_pass http://...; |
| 处理方式:静态资源 | root /var/www; 或 alias ...; |
| 处理方式:重定向 | return 301 ...; |
| 处理方式:指定错误码 | return 403; |
| 默认分发规则 | location / { ... } |
| 多条分发规则共存 | 多个 location 块 |
详细文档:分发规则匹配逻辑详解 | 七层分发规则用户手册
分发策略 ↔ NGINX location 修饰符 + if 指令
分发策略是匹配请求的单个判断条件。一条分发规则可组合多条分发策略("与"关系),每条策略内可包含多个匹配值("或"关系)。
| 矩尺分发策略 | NGINX 等效 |
|---|---|
| URL 完全匹配 | location = /api/login {...} |
| URL 前缀匹配 | location /api/ {...} |
| URL 正则匹配 | location ~ /api/.* {...} |
| HOST 匹配 | if ($host = "abc.com") {...} |
| 源地址匹配 | if ($remote_addr ~ "10.0.0.") {...} |
| HTTP 方法匹配 | if ($request_method = POST) {...} |
| Header 匹配 | if ($http_x_custom = "value") {...} |
| Cookie 匹配 | if ($cookie_user = "xxx") {...} |
详细文档:分发策略用户手册
七层策略 / 四层策略 ↔ NGINX 指令集合
策略对象是一组处理动作的配置集。当分发规则将请求转发到后端时,七层策略定义了"如何转发"——修改哪些 Header、是否压缩、是否缓存等。
| 矩尺七层策略 | NGINX 等效 |
|---|---|
| Host 头部传递 | proxy_set_header Host $host; |
| X-Forwarded-For 插入 | proxy_set_header X-Forwarded-For $remote_addr; |
| 请求改写 | rewrite ...; |
| 应答改写 | sub_filter ...; |
| HTTP 压缩 | gzip on; |
| 缓存策略 | proxy_cache ...; |
| 访问控制(黑白名单) | allow / deny 指令 |
| 连接复用 | keepalive 指令 |
| 限速 | limit_req / limit_rate |
| 矩尺四层策略 | NGINX stream 等效 |
|---|---|
| TCP 策略(会话保持、SNAT、溯源) | stream 块内 proxy_bind 等 |
详细文档:七层策略用户手册
会话保持策略 ↔ NGINX sticky / ip_hash
确保同一客户端的一系列请求被路由到同一台后端服务器。
| 矩尺 | NGINX |
|---|---|
| Cookie 插入 | sticky cookie ...;(需 NGINX Plus) |
| Cookie Hash | 自定义实现 |
| 源地址 | ip_hash; |
| SSL Session ID | 无内置等效 |
详细文档:会话保持配置指南
健康检查
NGINX 开源版没有内置的后端健康检查(health_check 指令仅 NGINX Plus 提供),通常依赖第三方模块或外部脚本。矩尺内置了 20+ 种协议的健康检查,支持高级配置(上下线分别设置参数)和多策略 AND/OR 协作。
详细文档:健康检查配置指南
转发引擎 VS 流量组
| 概念 | 说明 | NGINX 类比 |
|---|---|---|
| 转发引擎 | 执行流量转发的主机 | 运行 NGINX 进程的服务器 |
| 转发引擎集群 | 多台引擎的逻辑集合 | 无直接对应 |
| 流量组(主备) | 一组引擎提供 VIP,同一时间仅一台工作 | keepalived + VRRP |
| 流量组(ECMP) | 多台引擎同时工作,交换机哈希分发 | DNS 轮询 / LVS + ECMP |
详细文档:双机热备集群配置 | 多主集群ECMP配置
其他产品概念对照表
| 矩尺 | F5 | Radware Alteon | 深信服 | Kubernetes |
|---|---|---|---|---|
| 虚拟服务 | Virtual Server | Virtual Service | 虚拟服务 | Gateway / Ingress |
| 服务器池 | Pool | Server Group | 服务器池 | Service + Endpoints |
| 分发规则 | Local Traffic Policy / iRule | Content Rule | 转发策略 / iPro | HTTPRoute Rule |
| 分发策略 | Policy Conditions | Filter / Match Criteria | 匹配条件 / 访问策略 | HTTPRoute Match |
| 七层策略 | HTTP Profile | Application Profile | 应用策略 | —(分散在各 CRD 中) |
| 会话保持策略 | Persistence Profile | Session Persistence | 会话保持策略 | Session Affinity |
| SSL 策略 | Client SSL Profile | SSL Policy | SSL 策略 | Gateway TLS |
| 健康检查 | Health Monitor | Health Check | 健康检查 | Health Check (CRD) |
| 转发引擎 | BIG-IP Device | Alteon Device | 转发引擎 | Node |
| 流量组(主备) | HA Pair / Failover | VRRP HA | 双机热备 | — |
| 流量组(ECMP) | — | — | — | — |
核心组件关系图
下图展示了矩尺平台各核心组件之间的关系:

客户端请求
│
▼
虚拟服务(定义监听 IP:端口、协议)
│
├── 服务域名(可选,全局域名过滤)
│
▼
分发规则(按优先级匹配请求)
│
├── 分发策略(决定"匹配什么":URL / Host / Header / Cookie / IP ...)
├── 处理方式(决定"匹配后干什么")
│ ├── HTTP代理 / HTTPS代理 ──→ 服务器池 ──→ 后端节点
│ ├── 静态资源 ──→ 静态资源包
│ ├── 重定向
│ └── 指定错误码 / 应用失效保障页面
│
└── 绑定策略(决定"怎么处理")
├── 七层策略(HTTP Header、压缩、缓存、请求改写...)
├── 四层策略(SNAT、会话保持...)
├── SSL 策略(证书、加密套件、会话复用...)
└── 会话保持策略(Cookie / 源地址 / SSL Session ID...)各个概念的详细配置请参考用户手册和配置指南中的对应章节。从 NGINX 迁移的具体对照示例参见 如何替换 NGINX。
