Skip to content

Commit

Permalink
docs:优化配置加密使用文档 (#369)
Browse files Browse the repository at this point in the history
  • Loading branch information
chuntaojun authored Nov 6, 2023
1 parent 936d6d3 commit e6f6f98
Show file tree
Hide file tree
Showing 3 changed files with 137 additions and 7 deletions.
55 changes: 52 additions & 3 deletions content/zh-cn/docs/使用指南/go应用开发/sdk/配置管理.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func main() {

## 查询加密配置

**需要更新 polaris-go 的版本至 v1.5.0**
**需要更新 polaris-go 的版本至 v1.5.0 及以上**

```go
// namespace: 命名空间
Expand All @@ -81,8 +81,57 @@ config:
- name: AES
```
## 如何基于 polaris-go 客户端完成一个配置拉取的程序
## 监听配置分组下的已发布文件列表变化
- [示例工程项目](https://github.com/polarismesh/polaris-go/tree/main/examples/configuration)
**需要更新 polaris-go 的版本至 v1.5.6 及以上版本**
```go
// namespace: 命名空间
// group: 配置分组名称
GetConfigGroup(namesapce, group string) (model.ConfigFileGroup, error)
```

获取到目标配置分组后, 调用配置分组的 **AddChangeListener** 方法监听改配置分组下已发布配置文件列表的变化

```go
group.AddChangeListener(func(event *model.ConfigGroupChangeEvent) {
before, _ := json.Marshal(event.Before)
after, _ := json.Marshal(event.After)
log.Printf("receive config_group change event\nbefore: %s\nafter: %s", string(before), string(after))
})
```

**model.ConfigGroupChangeEvent** 结构体的具体信息

```go
type SimpleConfigFile struct {
// 配置文件命名空间
Namespace string
// 配置文件所在分组名称
FileGroup string
// 配置文件名称
FileName string
// 配置文件的发布版本号,由服务端
Version uint64
Md5 string
ReleaseTime time.Time
}

// ConfigGroupChangeEvent 配置文件变更事件
type ConfigGroupChangeEvent struct {
// Before 该配置分组之前所有已发布的配置文件列表信息
Before []*SimpleConfigFile
// After 该配置分组当前已发布的所有配置文件列表信息
After []*SimpleConfigFile
}
```


## 相关示例工程代码

- [如何基于 polaris-go 客户端完成一个配置拉取](https://github.com/polarismesh/polaris-go/blob/main/examples/configuration/normal/main.go)
- [如何基于 polaris-go 客户端完成一个加密配置拉取](https://github.com/polarismesh/polaris-go/blob/main/examples/configuration/encrypt/main.go)
- [如何基于 polaris-go 客户端完成配置创建、发布](https://github.com/polarismesh/polaris-go/blob/main/examples/configuration/crud/main.go)
- [如何基于 polaris-go 客户端完成一个配置分组下发布文件列表的拉取](https://github.com/polarismesh/polaris-go/blob/main/examples/configuration/group/main.go)


Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,85 @@ public static void main(String[] args) throws Exception {
}
```


## 查询加密配置

**需要更新 polaris-java 的版本至 v1.13.0 +**

```go
// 获取特定远程的配置文件
ConfigFile getConfigFile(String namespace, String fileGroup, String fileName);

// 获取特定远程的配置文件
ConfigFile getConfigFile(ConfigFileMetadata configFileMetadata);
```

调整 **polaris.yaml** 配置文件

```yaml
# 配置中心默认配置
config:
# 配置过滤器
configFilter:
enable: true
chain:
# 启用配置解密插件
- crypto
plugin:
crypto:
# 配置解密插件的算法插件类型
type: AES
```
## 监听配置分组下的已发布文件列表变化
**需要更新 polaris-java 的版本至 v1.14.0 及以上版本**, 获取到目标配置分组后, 调用配置分组的 **addChangeListener** 方法监听改配置分组下已发布配置文件列表的变化
```go
ConfigFileGroup configFileGroup = configFileService.getConfigFileGroup(namespace, fileGroup);
if (configFileGroup != null) {
configFileGroup.addChangeListener(new ConfigFileGroupChangeListener() {
@Override
public void onChange(ConfigFileGroupChangedEvent event) {
Utils.print(event.toString());
}
});
}
```

**ConfigFileGroupChangedEvent** 结构体的具体信息

```java
public class ConfigFileGroupChangedEvent {
// 配置分组自身元数据信息
private final ConfigFileGroupMetadata configFileGroupMetadata;
// 当前配置分组下的最新已发布的配置文件列表
private final List<ConfigFileMetadata> configFileMetadataList;

public ConfigFileGroupChangedEvent(ConfigFileGroupMetadata configFileGroupMetadata, List<ConfigFileMetadata> configFileMetadataList) {
this.configFileGroupMetadata = configFileGroupMetadata;
this.configFileMetadataList = configFileMetadataList;
}

public ConfigFileGroupMetadata getConfigFileGroupMetadata() {
return configFileGroupMetadata;
}

public List<ConfigFileMetadata> getConfigFileMetadataList() {
return configFileMetadataList;
}

@Override
public String toString() {
return "ConfigFileGroupChangedEvent{" +
"configFileGroupMetadata=" + configFileGroupMetadata +
", configFileMetadataList=" + configFileMetadataList +
'}';
}
}
```


## 操作配置文件

```java
Expand All @@ -109,7 +188,9 @@ void releaseConfigFile(String namespace, String fileGroup, String fileName);
void releaseConfigFile(ConfigFileMetadata configFileMetadata);
```

## 如何基于 polaris-java 客户端完成一个配置拉取和操作的程序
## 相关示例工程代码

- [示例工程项目](https://github.com/polarismesh/polaris-java/tree/main/polaris-examples/configuration-example/src/main/java/com/tencent/polaris/configuration/example)
- [如何基于 polaris-java 客户端完成一个配置拉取](https://github.com/polarismesh/polaris-java/blob/main/polaris-examples/configuration-example/src/main/java/com/tencent/polaris/configuration/example/ConfigFileExample.java)
- [如何基于 polaris-java 客户端完成配置创建、发布](https://github.com/polarismesh/polaris-java/blob/main/polaris-examples/configuration-example/src/main/java/com/tencent/polaris/configuration/example/ConfigFileReleaseExample.java)
- [如何基于 polaris-java 客户端完成一个配置分组下发布文件列表的拉取](https://github.com/polarismesh/polaris-java/blob/main/polaris-examples/configuration-example/src/main/java/com/tencent/polaris/configuration/example/ConfigFileMetadataListExample.java)

Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ weight: 3

## 当前支持的客户端版本

- polaris-go: v1.5.0
- polaris-java: 开发中...
- [Polaris Java 客户端开启配置加密](/docs/使用指南/java应用开发/sdk/配置管理/#查询加密配置)
- [Polaris Go 客户端开启配置加密](/docs/使用指南/go应用开发/sdk/配置管理/#查询加密配置)

0 comments on commit e6f6f98

Please sign in to comment.