2. 核心概念:特征服务定义、高可用(HA)衡量指标与可用性计算模型

在构建信用评分特征服务的高可用架构之前,必须统一核心术语与度量标准。本章将明确特征服务的定义边界,并建立可量化的高可用衡量体系,为后续架构设计提供精确的工程标尺。

2.1 特征服务定义

信用评分特征服务并非简单的“特征计算函数”,而是一个具备完整生命周期管理的分布式中间件层。它位于原始数据源与评分模型之间,负责将海量、异构的原始数据转化为模型可消费的标准化特征向量。

特征服务核心职责:
  • 特征生产: 实时/批量计算衍生特征(如近30天逾期次数、收入负债比)。
  • 特征存储: 高性能缓存特征值,支持毫秒级查询。
  • 特征分发: 通过RPC或HTTP接口,向评分引擎提供稳定、低延迟的特征数据。
  • 特征治理: 版本管理、回滚、灰度发布、监控与血缘追踪。

从架构视角看,特征服务是评分系统的“数据中枢”,其可用性直接影响最终评分决策的连续性与准确性。

特征服务在信用评分系统中的位置与核心职责 数据源层 实时流水 / 历史库 / 外部数据 特征服务层 生产 · 存储 · 分发 · 治理 评分引擎层 模型推理 · 决策输出 原始数据 特征向量 特征生产(实时/批量) 特征存储(高性能缓存) 特征分发(RPC/HTTP) 特征治理(版本/灰度/监控) 特征服务是评分系统的 “数据中枢”

2.2 高可用(HA)衡量指标:SLA、SLO、SLI

在SRE实践中,高可用不是模糊的“系统不宕机”,而是通过一套精确的指标体系来定义、度量与问责。核心三要素为:SLI(服务等级指标)、SLO(服务等级目标)、SLA(服务等级协议)。

术语 定义 信用评分特征服务示例 关键特征
SLI
(Service Level Indicator)
服务质量的具体可测量指标 特征查询P99延迟、特征服务请求成功率、缓存命中率 可量化、可监控、可对比
SLO
(Service Level Objective)
服务提供方对SLI的内部承诺目标 P99延迟 ≤ 50ms(月度)、请求成功率 ≥ 99.99% 内部驱动、可调整、用于决策
SLA
(Service Level Agreement)
服务提供方与用户之间的正式契约 月度可用性 ≥ 99.95%,否则按比例减免费用 外部约束、含惩罚条款、法律效力
实践建议: 在特征服务架构设计初期,应优先定义SLI与SLO,而非直接制定SLA。SLO是内部工程改进的“北极星”,而SLA是商业承诺。通常SLO比SLA更严格(例如SLO 99.99% vs SLA 99.95%),为SLA留出安全缓冲。

2.3 可用性计算模型

可用性(Availability)是衡量系统持续提供服务能力的核心指标。在特征服务场景中,通常采用两种计算模型:时间维度可用性与请求维度可用性。

2.3.1 时间维度可用性

公式:可用性 = (总时间 - 不可用时间) / 总时间 × 100%

这是最传统的计算方式,适用于评估基础设施或整体服务的“运行时长”。

可用性百分比 年化不可用时间 月化不可用时间 特征服务典型场景
99.9% (三个9) 8.76 小时 43.8 分钟 非核心特征(如辅助画像特征)
99.99% (四个9) 52.56 分钟 4.38 分钟 核心评分特征(如逾期率、负债比)
99.999% (五个9) 5.26 分钟 25.9 秒 实时风控决策关键特征

2.3.2 请求维度可用性

公式:可用性 = 成功请求数 / 总请求数 × 100%

对于特征服务,请求维度可用性更能反映真实用户体验。即使服务进程未宕机,若大量请求超时或返回错误,也应视为“不可用”。

特征服务请求维度可用性关键SLI:
  • 请求成功率: 返回HTTP 2xx或业务成功码的请求占比。
  • 延迟达标率: 在SLO阈值内完成的请求占比(如P99 ≤ 50ms)。
  • 新鲜度达标率: 特征值在有效时间窗口内更新的比例(如近30天逾期特征在T+1内完成计算)。
可用性计算模型对比与特征服务SLO分解 时间维度可用性 公式:(总时间 - 不可用时间) / 总时间 适用:基础设施、整体服务运行时长 示例:99.99% → 月不可用 ≤ 4.38分钟 局限:无法反映部分请求失败 请求维度可用性 公式:成功请求数 / 总请求数 适用:特征服务、API、微服务 示例:请求成功率 ≥ 99.99% 优势:真实反映用户体验 特征服务SLO分解示例(月度目标) 请求成功率 ≥ 99.99% SLI: 成功请求/总请求 P99延迟 ≤ 50ms SLI: 延迟达标率 特征新鲜度 ≥ 99.9% SLI: T+1更新成功率 SLO应比SLA严格,为商业承诺预留安全缓冲

2.4 特征服务可用性计算实践

在实际工程中,特征服务的可用性计算需要结合时间与请求两个维度,并引入错误预算(Error Budget)概念进行管理。

常见误区: 仅监控服务进程存活状态(如进程是否运行)来判断可用性。特征服务中,缓存穿透、数据延迟、部分特征计算失败等“静默故障”不会导致进程退出,但会严重影响评分准确性。必须将请求成功率与数据新鲜度纳入可用性计算。

错误预算计算示例

假设特征服务月度SLO为99.99%(请求维度),月度总请求量为1亿次:

月度总请求数 = 100,000,000
SLO目标成功率 = 99.99%
允许失败请求数 = 100,000,000 × (1 - 0.9999) = 10,000 次

错误预算 = 10,000 次失败请求 / 月

每日错误预算消耗 = 10,000 / 30 ≈ 333 次失败请求 / 天

当错误预算消耗过快时,SRE团队应触发告警并启动降级或限流策略,避免SLO违约。

2.5 本章小结

  • 特征服务是信用评分系统的数据中枢,涵盖生产、存储、分发、治理四大职责。
  • SLI 是可测量的具体指标(如P99延迟、成功率);SLO 是内部目标(如P99 ≤ 50ms);SLA 是外部契约(如99.95%可用性)。
  • 可用性计算分为时间维度与请求维度,特征服务应以请求维度为主,结合数据新鲜度。
  • 错误预算是SLO驱动的运维管理工具,帮助团队在创新与稳定性之间取得平衡。