🌐 EdgeHit Controller
EdgeHit Controller 作为 CDN 网络的中央控制平面运行。
它存储 Load Proxy 节点的配置对象,并提供网页控制台供运维人员管理和监控 CDN 集群。
🚪 对外服务
这些服务监听 0.0.0.0,对外部客户端(如托管的 LoadProxy 节点)开放,用于实时配置和遥测同步。
| 组件 | 端口 | 功能描述 |
|---|---|---|
| Redis 服务器 | 9001 |
存储 LoadProxy 配置和系统全局设置 |
| ClickHouse 服务器 | 8443 |
存储流量数据用于计费和分析 |
| 网页控制台服务器 | 80/443 |
为管理员和运维人员提供基于网页的管理界面 |
🔏 仅限本机的管理服务
这些服务绑定 127.0.0.1,供内部工具或开发人员用于诊断、故障排除和底层访问。
| 组件 | 端口 | 功能描述 |
|---|---|---|
| ClickHouse 客户端 | 19000 |
通过 CLI 访问 ClickHouse 查询分析数据 |
| Redis 客户端(默认实例) | 16379 |
查询系统全局配置值,如最新配置 HEAD 引用 |
| Redis 客户端(config_db 实例) | 16380 |
从 config_db 实例获取 LoadProxy 配置(NGINX 配置、BIND9 式 DNS 区域文件) |
| PostgreSQL 客户端 | 15432 |
查询网页控制台定义的配置记录 |
Note
🔒 绑定到 127.0.0.1 的服务仅限本地访问以确保安全。
🖥️ 网页控制台服务器
网页控制台是 EdgeHit Controller 平台的核心组件。
它为客户和管理员提供基于网页的控制界面,用于管理域名、源站服务器和其他配置元素。
- 支持基于角色的访问控制(RBAC),可为用户账户分配带权限范围的角色,如查看者、编辑者或管理员
- 支持多租户访问和按客户/团队的配置隔离
⬆️ Redis 主服务器
Redis 是一个高性能的内存键值数据库。在 EdgeHit 平台中,Redis 采用主从架构部署,便于分布式 LoadProxy 节点间的低延迟配置同步。
系统配置了两个独立的 Redis 服务器实例,每个实例运行在专属的 Docker 容器中,在 CDN 控制平面中承担特定角色。
-
开放于
0.0.0.0:9001,支持通过TLS和x.509证书客户端认证进行外部访问。安全说明
TLS 双向认证(x.509)确保通信加密和客户端身份验证。
- 本地访问地址
127.0.0.1:16380,可通过redis-cli进行管理访问。 - 实现Redis原生预共享密钥(PSK)认证作为额外访问控制层。
- LoadProxy 节点通过查询此实例获取和同步最新配置状态。
- 作为集中式配置数据存储,确保 CDN 网络配置状态一致性。
- 本地访问地址
-
本地访问地址
127.0.0.1:16379,可通过redis-cli进行管理访问。 - 不对外开放 —— 仅限内部回环接口访问
- 仅供EdgeHit 后端服务(包括网页控制台)使用,用于解析当前生效的配置版本。
- 采用Redis原生PSK认证,保持内部组件一致的安全策略。
- 维护专用的键值条目作为==
HEAD==引用(类似Git),指向最新部署的配置对象。
💹 ClickHouse 服务器
ClickHouse 是一个面向列的高性能数据库管理系统(DBMS),专为大规模数据集的实时分析优化。
在 EdgeHit Controller 控制平面中,它作为域名级请求追踪和客户计费计算的核心组件。
🔗 访问详情:
EdgeHit Controller 中的 ClickHouse 服务器在端口8443监听公共请求。数据库访问需要基于 PSK 的认证。
🔄 数据摄入流程:
- 托管的 LoadProxy 节点被配置为解析 NGINX 访问日志,并将结构化请求数据转发至 ClickHouse 服务器。
- 每条日志条目被分解为独立字段,并映射到 ClickHouse 表的对应列,以支持后续计费逻辑和使用分析。
🛠️ 管理访问:
- 对于远程管理和交互式查询,基于网页的 ClickHouse 客户端(如 Tabix)可通过 HTTPS(端口
8443) 安全连接。 - 此外,本地管理接口开放于
127.0.0.1:19000,供系统运维人员执行CLI诊断和手动查询。
📅 PostgreSQL 服务器
PostgreSQL 是一个强大的开源关系型数据库管理系统(RDBMS)。在 EdgeHit Controller 平台中,它用于持久化所有由管理员或客户通过网页控制台提交的配置数据。
这些配置随后用于生成底层系统定义,并传输至托管的 LoadProxy 节点进行部署和执行。
安全说明
PostgreSQL CLI 接口绑定于 127.0.0.1:15432,仅限本地访问,确保外部无法直接访问数据库。
🛠️ 远程管理(测试环境):
为便于在受控环境(如开发、测试、预发布)中进行数据库访问,部署了基于网页的 SQL 管理工具如 Adminer。
📊 Node Exporter
EdgeHit 使用 Node Exporter、Prometheus 和 Grafana 构建监控与可观测性体系,提供实时系统状态可视化。
- Node Exporter 作为容器化服务运行于 EdgeHit Controller,暴露CPU使用率、I/O统计、文件系统状态和网络性能等系统指标。
- Node Exporter 实例监听端口
9100,通过 HTTPS 提供指标数据。 - 为保护访问安全,导出器采用预共享密钥(PSK)HTTP认证,该功能由 Node Exporter 服务原生支持。
Node Exporter 收集的指标由 Prometheus 抓取并存储为时间序列数据,最终通过 Grafana 仪表盘进行可视化展示和告警。





