Skip to content

debin-ge/XSonar

Repository files navigation

XSonar

面向 B2B 场景的数据访问与治理平台。

XSonar 旨在把分散、零散、难治理的数据访问需求,收敛成统一、标准、可管理的平台能力。它提供一致的接入模型、清晰的权限边界、可配置的策略规则、可追踪的调用过程,以及可沉淀的历史统计能力。

XSonar 的目标不是简单地提供若干访问能力,而是将数据访问能力沉淀为一套可以持续运营的平台资产。对于需要面向多团队、多应用或多租户提供统一能力的场景,XSonar 更强调标准化、治理能力和长期可维护性。

What Is XSonar

XSonar 是一个围绕“数据访问能力产品化”设计的平台。

它将访问入口、身份校验、权限控制、调用策略、配额限制、日志追踪和报表统计统一纳入同一套系统边界中,使数据能力不再散落在各类业务服务、脚本或临时网关中,而是以平台方式被统一定义、统一管理和统一输出。

What Problems It Solves

  • 多业务团队接入方式不一致,接口边界和规则难以统一。
  • 应用身份、权限、配额和调用规则散落在业务代码中,治理成本持续上升。
  • 数据访问能力难以产品化,复用效率低,对外提供能力时缺少统一管理模型。
  • 调用异常发生后缺少一致的追踪视角,排障和归因成本高。
  • 系统能力不断增加时,容易演变成高耦合、难维护的入口服务。

Core Advantages

  • 统一接入模型
    让不同调用方通过一致的方式接入平台能力,降低协作和集成复杂度。

  • 策略化治理能力
    将授权、参数约束、能力边界和访问规则从业务实现中抽离出来,避免规则碎片化。

  • 多租户与多应用友好
    将应用身份、访问范围、限流和配额纳入统一治理模型,适合平台化和商业化场景。

  • 标准化响应与追踪
    通过统一响应结构、请求追踪标识、结构化日志和聚合统计,提升可观测性和排障效率。

  • 可持续演进的系统边界
    通过职责清晰的服务分层降低耦合,使平台更容易扩展、替换和长期维护。

Why It Matters

很多系统的问题不在于“能不能访问到数据”,而在于这些能力一旦进入真实业务,就会迅速暴露出权限混乱、规则分散、运维困难和扩展成本高的问题。

XSonar 关注的正是这部分平台价值。它把数据访问能力从一次性的技术实现,提升为可管理、可审计、可复用、可持续运营的产品能力,帮助团队在技术实现之外,建立更清晰的治理边界和交付方式。

Architecture At A Glance

XSonar 采用分层微服务设计,将不同职责拆分到稳定边界内,避免所有逻辑堆积在单一入口中。

层级 主要职责
对外入口层 提供统一访问入口,承接请求接入、基础校验和标准响应输出。
访问治理层 负责身份识别、权限判断、限流、配额和反滥用控制。
策略管理层 负责能力定义、规则配置、授权关系和参数治理。
能力执行层 负责受控执行具体能力,并统一处理结果归一化与链路输出。
管理与报表层 提供后台管理能力、历史统计视图和运行态追踪支持。

这种分层方式的价值在于:平台职责清晰、规则集中可控、能力边界更稳定,也更适合后续持续扩展。

Typical Use Cases

  • 为多个业务团队提供统一的数据访问平台,减少重复建设。
  • 将内部已有的数据访问能力沉淀为标准化产品能力。
  • 面向不同客户、租户或应用输出差异化授权与额度控制能力。
  • 为运营、排障和治理提供统一的追踪、统计和管理视图。

Project Highlights

  • 标准化的数据访问入口
  • 统一的身份与权限治理模型
  • 面向多租户和多应用的配额控制能力
  • 可追踪、可统计、可运营的运行视图
  • 适合长期演进的平台化架构边界

Summary

XSonar 的核心价值,不是增加一个新的访问入口,而是把数据访问能力建设成一套真正可治理、可复用、可运营的平台系统。

如果一个团队正在面对接入方式分散、规则难统一、能力难产品化、运维难追踪的问题,那么 XSonar 所提供的并不是单点功能,而是一套更稳定的系统化解决方案。

Image Build And Push

deploy/xsonar/docker-compose.yml 已为 7 个自研服务统一配置镜像名,默认会构建为 harbor.mrgdb.xyz:1443/library/xsonar/<service>:latest

相关变量定义在 deploy/xsonar/.env

  • XSONAR_IMAGE_PREFIX=harbor.mrgdb.xyz:1443/library/xsonar
  • XSONAR_IMAGE_TAG=latest

使用方式:

cd deploy/xsonar
docker login harbor.mrgdb.xyz:1443
docker compose build \
  gateway-api console-api access-rpc policy-rpc provider-rpc scheduler-rpc collector-worker-rpc

发布多架构镜像时,使用 Buildx Bake 读取同一份 docker-compose.yml

cd deploy/xsonar
docker buildx create --name xsonar-multiarch --driver docker-container --bootstrap --use
docker login harbor.mrgdb.xyz:1443
docker buildx bake -f docker-compose.yml --push \
  gateway-api console-api access-rpc policy-rpc provider-rpc scheduler-rpc collector-worker-rpc

docker-compose.yml 已通过 x-bake 内置 linux/amd64linux/arm64 两个平台配置。docker compose build 会继续按当前宿主机做单架构本地构建;docker buildx bake 会按多架构配置生成并推送 manifest list。推送后,amd64arm64 机器都会自动拉取匹配的变体,不需要在服务端手工指定镜像平台。

如果你需要切换标签或仓库前缀,只改 XSONAR_IMAGE_TAGXSONAR_IMAGE_PREFIX 即可。XSONAR_IMAGE_PREFIX 不要带结尾的 /

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages