注意:有兴趣的码友,可以联系我加入参与开发!
在分布式微服务架构中,当应用数量和各个应用部署实例的数量较多时,如果还是手动去实现配置信息的修改或数据的迁移等,其效率是很低的。且认为手动操作的也有可能出现错误的情况,从而引发应用发布错地方、启动不了、发不通等情况。
为了解决以上问题,开发了基于Zookeeper的配置中心(微服务配置中心:mconf),用于解决以上问题。同时新引入了微服务配置中心也为架构带来了运维成本和故障风险。因此建议不要强制依赖mconf,即没有mconf也能正常使用,当然有了mconf更好,可以为我们解决很多繁琐的事情。mconf依赖的Zookeeper可以靠集群来实现高可用,但mconf本身的问题也是可能存在的,所以使用请慎重。
核心支持功能:
该SDK主要用于给各个应用提供一个配置中心的工具包。
void subscribe(NotifyListener listener, String application, String... configs) throws MicroConfigException;
void unsubscribe(String application, String... configs) throws MicroConfigException;
List pull(String application, String... configs) throws MicroConfigException;
该组接口主要用于运维端管理配置数据而是用。
boolean publish(MetaMultiDataConfig metaMultiDataConfig) throws MicroConfigException;
boolean delete(MetaConfig metaConfig) throws MicroConfigException;
List search(MetaConfig metaConfig, String keyword) throws MicroConfigException;
void subscribe(NotifyListener listener) throws MicroConfigException;
void unsubscribe() throws MicroConfigException;
void clear() throws MicroConfigException;
该组接口主要用于运维端维护一套环境数据清单。
boolean publish(String environment, String name) throws MicroConfigException;
boolean delete(String environment) throws MicroConfigException;
Set environments() throws MicroConfigException;
该组配置主要用于运维一套"应用-配置-版本"的映射关系。
boolean publish(String application, String name, String[] configs, String[] versions) throws MicroConfigException;
boolean delete(String application, String config, String version) throws MicroConfigException;
Set applicationConfigVersions() throws MicroConfigException;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型