应用逻辑隔离管理
应用逻辑隔离主要用于不同的开发环境共享公共CSE资源的场景,降低成本。逻辑隔离还用于微服务之间的关系管理,通过配合合理的隔离策略,可以更好地控制微服务之间的可访问性、权限等。
服务发现
按照app隔离不同的业务域的微服务。
不同的业务域使用不一样的app名称。同一个业务域内的服务,能够相互发现和点到点访问。不同业务域的服务,不能相互发现,需要通过待访问微服务所在的业务域内的Spring Cloud Gateway去访问。
动态配置
动态配置按照公共、应用、服务三个层次进行管理。
spring: cloud: servicecomb: config: kie: customLabel: public# 默认值是public customLabelValue: default # 默认值是空字符串
只要配置项带有public标签,并且标签值为default,这些配置项就会对该微服务生效。可以这样理解配置中心:
- 把配置中心当成数据库的一个表tbl_configurations, key是主键, 每个label都是属性。
- 客户端会根据如下3个条件查询配置:
- 自定义配置
select * from tbl_configurations where custome_label=custome_label_value & withStrict=false
- 应用级配置
select * from tbl_configurations where app=demo_app & environment=demo_environment & withStrict=true
- 服务级配置
select * from tbl_configurations where app=demo_app & environment=demo_environment & service=demo_service & withStrict=true
其中,withStrict为true的时候,表示有且只有条件里面指定的属性;withStrict为false的时候,表示除了条件里面的属性,允许有其他的属性。
还可以给标签app指定多个应用,或者给标签service指定多个服务,这样配置项就可以对多个服务和应用生效,非常灵活。
- 自定义配置