本文介绍MSHA商业产品与开源产品之间在架构、通用能力、辅助能力等方面的异同。

架构支持

架构 商业产品 开源产品
异地双活
同城多活
异地应用双活

异地双活

组件 功能大类 具体功能说明 商业产品 开源产品
网关 路由 范围路由
网关 路由 精准路由
服务层SpringCloud 路由 范围路由
服务层SpringCloud 路由 精准路由
服务层SpringCloud 路由 单元保护(不属于本单元的调用直接失败)
服务层Dubbo 路由 范围路由
服务层Dubbo 路由 精准路由
服务层Dubbo 路由 单元保护(不属于本单元的调用直接失败)
消息层MQ 路由 发布打标(路由ID)
消息层MQ 路由 消费过滤(依据路由ID计算消费单元)
消息层MQ Failover 切流时重置位点,消息不丢
数据层MySQL 路由 数据保护,防止多点写脏数据
数据层MySQL Failover 路由ID维度:切换数据源和延迟禁写,包括:
  • PolarDB
  • DRDS

通用能力

组件 功能大类 具体功能说明 商业产品 开源产品
网关 路由 条件路由(入口流量调度)
注册中心同步 服务发现 跨集群的服务同步
切流模块 命令通道 控制面和数据面的信道打通
切流模块 切流 一键切流(完成动作编排、规则计算和下发)
切流模块 切流 自定义动作

辅助能力

运维

组件 功能大类 具体功能说明 商业产品 开源产品
网关 健康检查 网关实例巡检,异常透出。
网关 健康检查 Upstream巡检,自动摘除和恢复。
网关 发布 支持版本管理和灰度发布。
注册中心同步 健康检查 实例巡检,异常透出。
OPS 报警 对所有相关异常进行透出和报警。

可观测

组件 功能大类 具体功能说明 商业产品 开源产品
网关 Metrics 通用指标和特定架构的指标。
网关 Logging 结构化的AccessLog和ErrorLog。
网关 Tracing 为每个请求生成Trace ID。
注册中心同步 Metrics 任务粒度的同步QPS、RT、错误数。
Agent Logging
  • 关键点记录(路由、禁写等)。
  • 高频日志(排查)可开关。
Agent Metrics 各个模块切面的QPS、RT、错误率。
数据层 Metrics 同步位点延迟。
消息层 Metrics 同步位点延迟。