3. 服务目录平台架构:整体架构图、核心模块与数据流

服务目录平台作为容量水位巡检的元数据中心与调度枢纽,其架构设计直接决定了巡检数据的完整性、实时性与可扩展性。本章从整体架构、核心模块、数据流三个维度展开,帮助学员建立平台级视角。

3.1 平台整体架构图

服务目录平台采用分层架构,自上而下分为:接入层、服务层、数据层与基础设施层。各层职责清晰,通过标准 API 与消息队列解耦。

服务目录平台整体架构图 接入层 REST API 网关 | gRPC 代理 | Webhook 接收器 | 认证鉴权 统一入口,限流熔断,请求校验 服务层(核心模块) 服务注册模块 实例注册/注销/健康检查 元数据管理模块 属性/标签/版本/依赖关系 监控集成模块 Prometheus/Grafana/自研 数据层 MySQL(关系元数据)| Redis(缓存/状态)| Elasticsearch(搜索/日志) 数据持久化、缓存加速、全文检索 基础设施层 Kubernetes | 容器运行时 | 服务网格(Istio)| 对象存储 弹性伸缩、服务发现、流量治理 各层通过 API 与 MQ 解耦

3.2 核心模块详解

服务目录平台包含三个核心模块,它们共同构成了容量水位巡检的数据底座与调度中枢。

3.2.1 服务注册模块

服务注册模块负责维护所有被纳管服务的实例清单与运行状态。它是容量巡检的“服务发现”基础。

  • 实例注册:服务启动时通过 SDK 或 Sidecar 向目录平台上报实例 IP、端口、协议、启动时间。
  • 健康检查:支持主动探测(HTTP/TCP/gRPC)与被动心跳两种模式,异常实例自动标记并触发告警。
  • 状态变更推送:实例上下线、健康状态变化通过消息队列实时推送给下游巡检引擎。

3.2.2 元数据管理模块

元数据管理模块是服务目录的“知识图谱”,存储服务的业务属性、技术属性与关联关系。

元数据类别典型字段用途
基础属性服务名称、owner、部门、环境(prod/staging)权限管控、告警分派
容量属性CPU 配额、内存限制、副本数、QPS 基线水位阈值计算、扩缩容决策
依赖关系上游服务、下游 DB/缓存、外部 API故障影响面分析、容量链路追踪
版本与标签Git 版本、镜像 Tag、自定义标签(如“核心链路”)灰度发布、巡检策略匹配

3.2.3 监控集成模块

监控集成模块负责对接各类监控系统,将原始指标转化为服务目录可理解的容量水位数据。

  • 数据源适配器:支持 Prometheus、Grafana、Zabbix、自研监控系统等数据源,通过插件化方式扩展。
  • 指标映射:将监控系统中的 metric 名称(如 container_cpu_usage_seconds_total)映射为服务目录的统一指标模型(如 cpu_usage_percent)。
  • 数据拉取与缓存:按可配置周期(如 1 分钟)拉取指标,写入 Redis 缓存,避免重复查询监控系统。
实践建议:监控集成模块应设计为“无侵入”模式——不要求被监控服务安装任何 Agent,仅通过标准 API 拉取已有监控数据,降低接入成本。

3.3 数据流与交互关系

服务目录平台的数据流分为注册流、元数据流与监控数据流三条主线,它们最终汇聚到容量水位巡检引擎。

服务目录平台数据流与交互关系 数据源 服务实例 监控系统 CMDB/配置中心 服务目录核心模块 服务注册 元数据管理 监控集成 消费方 容量巡检引擎 告警系统 Dashboard 三条核心数据流详解 ① 注册流(实时) 服务实例启动 → 服务注册模块接收注册请求 → 写入 MySQL 实例表 → 推送 MQ 事件 → 巡检引擎消费事件,更新巡检目标列表 ② 元数据流(准实时) CMDB/配置中心变更 → Webhook 触发 → 元数据管理模块更新属性 → 版本化存储 → 巡检引擎按需拉取最新元数据,动态调整阈值与策略 ③ 监控数据流(周期性) 监控集成模块定时拉取 Prometheus/其他数据源 → 指标映射与清洗 → 写入 Redis 缓存 → 巡检引擎从缓存读取指标,计算容量水位,生成巡检报告

3.4 交互关系总结

下表梳理了三个核心模块之间的交互关系与数据依赖:

交互对交互方式数据内容触发条件
服务注册 → 元数据管理RPC 调用 / MQ 事件实例 ID、服务名、IP、端口实例注册/注销时
元数据管理 → 监控集成API 查询服务容量属性、阈值配置巡检周期开始前
监控集成 → 服务注册无直接交互——
服务注册 → 巡检引擎MQ 事件 / 定时拉取实例列表、健康状态实例变更或定时触发
元数据管理 → 巡检引擎API 查询服务属性、依赖关系、阈值巡检引擎初始化或策略更新
监控集成 → 巡检引擎缓存读取CPU/内存/磁盘/网络指标每个巡检周期
架构要点:服务目录平台通过“注册流”保证巡检目标实时准确,通过“元数据流”实现巡检策略动态化,通过“监控数据流”确保水位数据及时可用。三条数据流在巡检引擎中完成汇聚,形成完整的容量水位巡检闭环。