1. 阿波罗本人了解的配置结构
部门名称 -> appId -> (私有命名空间, 公共命名空间, 关联命名空间)
-
部门
一般使用项目组作为部门名称,用以区分不同的部门下的多个项目
比如我们这里分类 业务部门(busi) 和 支付部门(pay) -
APPID
appid 一般使用每个项目的名字作为appId,如果是springboot 本人一般习惯用 spring.application.name 来命名 -
命名空间
-
私有命名空间
每个应用 都拥有自己的 一个私有空间 application私有空间,我们可以在里面编写我们本项目私有的一些配置信息
-
公共命名空间
每个应用都可以创建一个公共的工作空间,用来给其他项目引用,这里我们可以存放一些公共配置,比如数据源,公用Redis,MQ等
但是本人习惯公共的配置存放在一个公共项目里 比如 busi-common, pay-common -
关联命名空间
关联命名空间, 是一个应用 可以去使用其他应用的公共命名空间内的配置作为自己的配置。比如我 pay-channel-alipay ,可以关联 pay-common 的 datasource 作为自己的数据源。
项目 | APPID | 私有命名空间 | 公共命名空间 | 关联命名空间 |
---|---|---|---|---|
busi | busi-common | datasource | ||
busi | busi-common | redis | ||
busi | busi-common | mq | ||
busi | busi-app1 | application | datasource,redis | |
busi | busi-app2 | application | datasource, mq | |
pay | pay-common | datasource | ||
pay | pay-common | redis | ||
pay | pay-common | mq | ||
busi | pay-app1 | application | datasource,redis | |
busi | pay-app2 | application | datasource,redis |