Skip to content

核心概念

面向 NGINX、F5 等产品用户的矩尺平台快速入门。如果您熟悉 NGINX 配置,读完本文即可建立完整的心理模型。需要完整迁移示例和操作步骤,请参考 从 NGINX 迁移到矩尺


一分钟看懂矩尺

以下是一个典型 Web 网站的 NGINX 配置与其对应的矩尺配置对照:

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配置


其他产品概念对照表

矩尺F5Radware Alteon深信服Kubernetes
虚拟服务Virtual ServerVirtual Service虚拟服务Gateway / Ingress
服务器池PoolServer Group服务器池Service + Endpoints
分发规则Local Traffic Policy / iRuleContent Rule转发策略 / iProHTTPRoute Rule
分发策略Policy ConditionsFilter / Match Criteria匹配条件 / 访问策略HTTPRoute Match
七层策略HTTP ProfileApplication Profile应用策略—(分散在各 CRD 中)
会话保持策略Persistence ProfileSession Persistence会话保持策略Session Affinity
SSL 策略Client SSL ProfileSSL PolicySSL 策略Gateway TLS
健康检查Health MonitorHealth Check健康检查Health Check (CRD)
转发引擎BIG-IP DeviceAlteon Device转发引擎Node
流量组(主备)HA Pair / FailoverVRRP HA双机热备
流量组(ECMP)

核心组件关系图

下图展示了矩尺平台各核心组件之间的关系:

配置逻辑

客户端请求


虚拟服务(定义监听 IP:端口、协议)

   ├── 服务域名(可选,全局域名过滤)


分发规则(按优先级匹配请求)

   ├── 分发策略(决定"匹配什么":URL / Host / Header / Cookie / IP ...)
   ├── 处理方式(决定"匹配后干什么")
   │     ├── HTTP代理 / HTTPS代理 ──→ 服务器池 ──→ 后端节点
   │     ├── 静态资源 ──→ 静态资源包
   │     ├── 重定向
   │     └── 指定错误码 / 应用失效保障页面

   └── 绑定策略(决定"怎么处理")
         ├── 七层策略(HTTP Header、压缩、缓存、请求改写...)
         ├── 四层策略(SNAT、会话保持...)
         ├── SSL 策略(证书、加密套件、会话复用...)
         └── 会话保持策略(Cookie / 源地址 / SSL Session ID...)

各个概念的详细配置请参考用户手册和配置指南中的对应章节。从 NGINX 迁移的具体对照示例参见 如何替换 NGINX