跳到主要内容

v3 采用 liuli 配置说明

升级内容

1. af:restful:1.51.4 或者以上

如果使用的 k8s 部署,需要联系运维更新最新的镜像

如果使用 windows k8s 部署,需要联系运维部署最新的 war 包,主要是替换掉 lib 下面 jar, 因为 restful 的升级,同时升级了一些 restful 的依赖

2. 修改 SystemConfig 配置文件

增加 liuli 配置项 Alt text

注意此处 tenantName 是租户名称,配置此公司得总公司得别名

注意此处 webAppName 是服务名称,配置此服务得命名空间,比如 af-system,af-readmeter,af-safecheck 等,不知道配置什么的时候联系运维或者开发

3. 修改 application 配置

由于最新的 restful 升级了 sqlserver 驱动版本,所以需要修改 application 配置,增加Encrypt=false;TrustServerCertificate=true;

<!-- 旧配置 -->
<property name="url" value="jdbc:sqlserver://ip:port;database=someone;" />
<!-- 新配置 -->
<property name="url" value="jdbc:sqlserver://ip:port;database=someone;Encrypt=false;TrustServerCertificate=true;" />

由于配置获取之后需要使用 hibernate 保存配置到本地数据库,所以引用 liuli 的 hibernate 文件

Alt text

4. 修改 module.xml

增加 liuli 模块 Alt text

5. 其他说明

以上截图描述均以 system 后台为例,因为 pc 端得配置文件是发送 类似/rs/vue/xxx 的请求发送到 system 后台获取得, 升级之后会先从琉璃中心获取 当获取不到时,才会从本地获取。

手机端服务需要升级使用 liuli 配置服务时,需要修改手机端的配置文件,增加 liuli 配置项,具体请联系运维,比如 手机抄表,工单安检报建等服务。

如果添加租户/分公司

打开 琉璃 中心

点击进入

账号密码为 oa 账号密码

添加租户

在公司产品节点添加租户

Alt text

Alt text

  • 租户名称就是租户得名字
  • 租户别名就是之前的组件目录,或者之前程序里面的分公司目录

Alt text

添加子租户

子租户 : 比如 潜能公司下有 金乡/成武等公司,城燃下面有 扶风/眉县等公司

在租户节点添加子租户

Alt text

添加租户得表单都一样,不再说明

租户层级作用说明

公司产品
├─ 潜能
│ ├─ 成武

例如目前是这样的结构, 当公司产品有 配置A 得时候 ,即使 潜能,成武下面没有 配置A,当使用成武获取配置A得时候获取到的是往上层寻找到得第一个配置

如图 此时 公司产品有 配置A 但是 潜能,成武下面没有 配置A,当使用成武获取配置A得时候获取到的产品得配置

如果潜能下面有配置 那么获取到的是潜能的 配置A

当然如果成武有配置A 那么获取到的只会是成武得配置

创建配置

V3 旧配置迁移

v3 新项目不用这么干,这里是旧项目正在用得迁移说明

System 配置

通常 system 配置是 pc 端获取得配置,配置较多且使用频繁

  1. 找到 system 配置, 通常在 system 后台服务里

如图都是潜能分公司得一些配置以及目录

Alt text

  1. 找到 潜能租户

这里 我知道 cqqn 是潜能得总公司,所以先给总公司导入原有的配置文件

先选择潜能得分公司目录,以及 system 命名空间,开发环境

Alt text

  1. 找到 需要导入得配置文件

将这个文件夹拖入到配置列表窗口里,也可以点进去选中某些文件拖进来

Alt text

右键新建标签页打开查看大的动图

Alt text

重复的配置会报错并且跳过执行下一个

注意:开发环境导入完之后生产环境也要导入一边,或者再每个配置详情中点击投入生产环境

  1. 其他服务配置 上面只说明了 system 服务中的配置如何迁移, 其他服务的配置迁移方式一样,只是需要找到对应的租户,以及对应的命名空间

    比如抄表服务得命名空间是 af-readmeter (后续可能会和营收服务合并,合并之后就是 af-revenue,合并之后会修改文档)

    比如安检/报建/工单服务得命名空间是 af-safecheck,af-apply,af-telphone

    这些服务的配置通常在 各自服务得 phonevues 下面

Alt text

V3 新配置创建

当公司产品有一些配置,我项目上需要的配置与产品不一样怎么处理?

1.在配置中心找到对应的租户,以及命名空间,然后新建配置,或者复制产品的配置

2.创建配置只能在开发环境创建,开发环境测试没问题,通过审核之后可以使用投入生产环境

如何清除缓存

什么是配置的缓存

目前配置储存方式是当请求 A配置 得时候, 会先从本地缓存中获取如果获取到了就返回缓存中的配置, 如果本地缓存中没有再从数据库获取, 如果本地数据库没有,会从配置中心获取,然后保存到本地数据库以及缓存中, 下次请求 A配置 会从优先从缓存中获取

为什么这么做

所以说我们相当于做了两层缓存 第一层 redis 缓存为了避免造成数据库压力以及提升请求速度 第二层是为了缓存突然丢失时得保护策略,比如重启服务器之后缓存会消失,这时候就需要从数据库获取

如何清除缓存

所以说当我们再配置中心修改了配置之后,想要立即生效,就需要清除缓存

  1. 点开租户管理,找到租户得所有配置,点击清除缓存 (目前功能还没有做)

  2. 自己发送请求清除缓存


// 清除配置缓存 使用 postman 或者 fidder 等工具发送
POST http://192.168.50.4:8400/rs/logic/deleteConfigurationCache

{
"namespaceName":"命名空间名字 比如 af-system",
"environment":"环境/默认为prod",
"configName":"配置名称"
}

如何验证

测试 pc json 配置文件


GET http://192.168.50.4:8400/rs/vue/BatchCharge.json

请求头增加 ComponentDir 或者 SystemConfig 文件配置 租户

{
琉璃中心的配置内容
}

测试 手机端 json 配置文件


GET http://192.168.50.4:8400/rs/vue

请求头增加 ComponentDir 或者 SystemConfig 文件配置 租户

{
mobileReadMeter:
telphone:
safecheck:
}

Alt text