相关概念:
- AppId: 每个应用的唯一号,这里用服务名标识
- 应用负责人:应用负责人,拥有对应应用的所有权限
- 项目管理员:拥有创建namespace、分配用户权限的权限。
- namespace:配置命名空间,用于分离配置(类似于文件分离),导入重载公共配置等功能。
常见问题:
- 为什么在apollo管理端看不到应用?
所有开发者都有权限查看除生产环境外的配置权限,在右上角搜索相关AppId或应用名称及可。生产环境配置只允许相关被授权的人查看、修改、发布。
- 为什么在apollo管理端看不到配置?
原因同上,可以点击每个namespace上的申请权限进行申请。
- 公共配置与应用私有配置有什么区别?
本质上没有区别,但公共配置可以被多个app共用,减少配置冗余。一般能使用公共配置就使用公共配置。若公共配置无法需要根据服务特性进行修改,可以重载公共配置并重写相关配置项、
- namespace的作用?
一是作为应用内唯一标识对配置进行分割管理。二是可以使用namespace进行配置更改监听实现热跟新配置。三是可以通过namespace 作为公共配置被其他项目依赖。
- 项目在本地启动时无法获取apollo配置?
由于网络环境隔离,本地项目启动是无法获取apollo配置的,这里可以将服务环境设置为local,这样就不会由于无法获取apollo配置而不断报错了。
- 服务在K8S集群中启动时无法获取apollo配置?
大多由配置原因造成,请确认工程中相关apollo配置是否正确,apollo meta service 地址是否正确,namespace是否正确?
这里有个namespace的坑,如果namespace是非application格式,在引入时要将后缀也算作namespace的一部分如:application.yaml