[apolloconfig/apollo]大佬们,apollo支持java客户端修改配置吗

2023-12-09 384 views
9

大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗大佬们,apollo支持java客户端修改配置吗

回答

2

您好 @yahuiqq,

我是一个可以帮助您解决问题、回答问题并成为贡献者的机器人。在等待人类维护者的同时,我在这里为您提供帮助。

根据我在Apollo仓库中找到的信息,Apollo确实支持通过Java客户端进行配置修改。您可以使用Apollo的开放API来实现这一点。我在仓库中找到了两个类似的已解决问题,他们都建议使用Apollo的开放API进行配置修改。这是相关问题的链接:

  1. 有写入或者修改配置的java api吗?
  2. 有写入或者修改配置的java api吗?

此外,Apollo的文档也提供了如何使用Java获取配置和监视配置更改的示例。这是一些示例代码:

获取配置:

Config config = ConfigService.getAppConfig();
Integer defaultRequestTimeout = 200;
Integer requestTimeout = config.getIntProperty("requestTimeout", defaultRequestTimeout);

监视配置更改:

Config config = ConfigService.getAppConfig();
config.addChangeListener(new ConfigChangeListener() {
  @Override
  public void onChange(ConfigChangeEvent changeEvent) {
    for (String key : changeEvent.changedKeys()) {
      ConfigChange change = changeEvent.getChange(key);
      System.out.println(String.format(
        "Found change - key: %s, oldValue: %s, newValue: %s, changeType: %s",
        change.getPropertyName(), change.getOldValue(),
        change.getNewValue(), change.getChangeType()));
     }
  }
});

这是相关文档的链接:docs/en/design/apollo-introduction.md

然而,我没有在仓库中找到使用Apollo开放API在Java中修改配置的确切方法。这个答案可能在其他地方可用,或者我可能错过了它。如果您需要更多的帮助,欢迎您提供更多的信息。

希望这些信息对您有所帮助!


7

你是说java客户端修改配置同步到apollo服务端?

1

目前并不支持,可以尝试通过openapi更改。

4

不过这个客户端更改,同步到服务端,感觉也违背了配置中心的初衷。

2

不支持,当初我们就是这么设计的。配置中心到客户端是一个全自动的单向配置分发同步过程,中间可以有多级缓存(基于内存或持久化到磁盘等等),应用程序作为消费者只关心配置获取API;而配置的修改则是一个更加复杂的流程,openapi则专门为配置修改而专门设计。配置修改需要经过各种权限和管控,有自动的也有人工的,包括配置审核、安全审核、灰度发布、全量发布,以及其他操作等等。

作为小公司,或者暂时对这些需求不够关注(但以后会有),长期来说,有一个好的操作规范,有利于网站的持续稳定发展。