跳转至

🌐 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 控制平面中承担特定角色。

  1. config_db 实例
    配置数据库 Redis

  2. 开放于 0.0.0.0:9001,支持通过TLSx.509证书客户端认证进行外部访问。

    安全说明

    TLS 双向认证(x.509)确保通信加密和客户端身份验证。

    • 本地访问地址 127.0.0.1:16380,可通过 redis-cli 进行管理访问。
    • 实现Redis原生预共享密钥(PSK)认证作为额外访问控制层。
    • LoadProxy 节点通过查询此实例获取和同步最新配置状态。
    • 作为集中式配置数据存储,确保 CDN 网络配置状态一致性。
  3. default 实例
    默认 Redis

  4. 本地访问地址 127.0.0.1:16379,可通过 redis-cli 进行管理访问。

  5. 不对外开放 —— 仅限内部回环接口访问
  6. 仅供EdgeHit 后端服务(包括网页控制台)使用,用于解析当前生效的配置版本。
  7. 采用Redis原生PSK认证,保持内部组件一致的安全策略。
  8. 维护专用的键值条目作为==HEAD==引用(类似Git),指向最新部署的配置对象。


💹 ClickHouse 服务器

ClickHouse 是一个面向列的高性能数据库管理系统(DBMS),专为大规模数据集的实时分析优化。
EdgeHit Controller 控制平面中,它作为域名级请求追踪客户计费计算的核心组件。

ClickHouse 架构

🔗 访问详情:
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 架构

安全说明

PostgreSQL CLI 接口绑定于 127.0.0.1:15432仅限本地访问,确保外部无法直接访问数据库。

🛠️ 远程管理(测试环境):
为便于在受控环境(如开发、测试、预发布)中进行数据库访问,部署了基于网页的 SQL 管理工具如 Adminer



📊 Node Exporter

EdgeHit 使用 Node ExporterPrometheusGrafana 构建监控与可观测性体系,提供实时系统状态可视化。

  • Node Exporter 作为容器化服务运行于 EdgeHit Controller,暴露CPU使用率I/O统计文件系统状态网络性能等系统指标。
  • Node Exporter 实例监听端口 9100,通过 HTTPS 提供指标数据。
  • 为保护访问安全,导出器采用预共享密钥(PSK)HTTP认证,该功能由 Node Exporter 服务原生支持。

Node Exporter 架构

Node Exporter 收集的指标由 Prometheus 抓取并存储为时间序列数据,最终通过 Grafana 仪表盘进行可视化展示和告警。