在spring cloud tencent微服务框架里面,北极星(polaris mesh)除了可以做注册中心的事情,还可以做配置中心的事情,就像我们使用的spring cloud alibaba里面的nacos一样。在这里我们介绍下北极星(polaris mesh)作为注册中心是是怎么使用的。
在北极星里面,如果想要使用他的注册中心,那么首先我们需要在配置中心->配置分组里面创建一个对应的${application-service-name}的应用,例如,假设我们有一个名称为user-service的应用
那么我们就需要在这个配置中心->配置分组里面创建一个user-service的配置分组:
配置了对应的分组之后,在项目里面配置对应的信息,就就可以对应到这里服务名称里面的配置文件了。
在北极星(polaris mesh)里面,我们所有的配置文件都是放在对应的配置分组里面即可,如下图:
这里的配置文件的话,默认的格式有:
application-${activeProfile}.properties application-${activeProfile}.yml application.properties application.yml bootstrap-${activeProfile}.properties bootstrap-${activeProfile}.yml bootstrap.properties bootstrap.yml
也就是我们在配置分组里面需要自定义配置信息的话,创建的配置文件名称默认是上面这8个名称,例如:
备注:
1、使用上面的名称创建配置的话,spring cloud tencent config会自动读取这里面的文件内容。
2、如果不想用上面的文件名称的话,也就是例如我们创建一个名称为:aaa.yml配置文件,那么这个aaa.yml配置文件需要在项目里面进行配置,例如:
spring: cloud: polaris: config: groups: - name: ${spring.application.name} # 选填,注入自定义配置的配置分组 files: [ "config/aaa.yml"] # 注入自定义配置文件列表,当 key 冲突时,排在前面的配置文件优先级高于后面
下面补充下配置中心的一些原理
一、首先来个流程图:
客户端的流程介绍:
应用启动时,同步从服务端拉取一次配置,获取最新的配置内容 把第一步拉取到的所有的配置文件生成 List<File->Version> 的数据 ,并向服务端发送订阅配置请求,请求内容为 List<File->Version> 当收到配置文件的推送消息时,向服务端拉取最新的配置文件
订阅配置服务端的流程介绍:
先检查客户端 List<File->Version> 的请求里是否存在 File 版本号落后,如果存在,则立马响应 File -> NewVersion 内容给客户端 如果客户端配置文件版本号都是最新的,则在内存里维护 File -> List<Client> 的数据结构并 Hold 请求 30s。如果 30s 内有配置文件发布,则立马响应请求,返回 File -> NewVersion 给所有客户端
发布推送配置流程介绍:
用户在界面点击发布按钮,服务端更新数据库里配置发布表的数据。配置发布表的核心字段:file, version, content, mtime 每个北极星服务端实例,都会定时1s扫描配置发布表,根据 mtime 捞出最近 1s 内变更过的数据 北极星服务端实例扫描到最新变更的数据之后 重新加载内存缓存 向内存里的消息发布管道里写入一条消息 推送协程从消息发布管道里获取到消息,并消费消息。通过 File -> List<Client> 信息,获取所有订阅配置文件的客户端信息,并响应客户端 Hold 的请求。
以上就是关于spring cloud tencent 中北极星(polaris mesh)的配置。
还没有评论,来说两句吧...