Applications 是 Castrel 中用于组织和隔离运维上下文的基础命名空间单元。如果你在同一个 Castrel 租户里维护多个互不相关的业务系统,Applications 可以帮助你在逻辑上把它们分开。
Application 是一个容器,用来把相关运维资源组织在一起:
服务与基础设施
服务和基础设施都属于某个 Application,它们通过 服务实例 建立联系:
这个模型同时描述了“应用做什么”(服务)以及“它运行在哪里”(基础设施)之间的关系。
公共服务与公共基础设施
在真实环境里,多个 Application 往往会共享一些通用组件:
mysql 服务条目,但它们都引用同一个公共服务定义。这样每个团队既能维护本应用特定的知识,又能共享通用文档。连接器(全局)
连接器是 全局资源,代表 Prometheus、Elasticsearch、Grafana Loki 等数据源,不隶属于任何具体 Application。
Application 会记录哪些连接器里包含自己的可观测性数据。这个关联关系会告诉 Castrel:"当调查这个 Application 时,应从这些连接器中查询相关数据。"
上下文隔离
在事故调查或告警分诊时,Castrel 会以 Application 边界限定分析范围:
支持多团队协作
不同团队可以在各自的 Application 内独立工作:
app-ecommerce 中维护电商平台app-data-platform 中维护数据平台完成配置后,Castrel 就会自动把相关操作限定在对应的 Application 上下文中。