配置中心微服务器配置,mconf: 微服务配置中心 mconf ,基于 Zookeeper和Redis实现的配置中心。提供拉取配置、订阅配置、新增配置、删除配置、修改配置等功能。支持多数据中心、多环境...

配置中心(Mconf)

开源产品介绍(微服务基础设施QQ交流群:191958521)

注意:有兴趣的码友,可以联系我加入参与开发!

微服务神经元(neural)

微序列(sequence)

1 概述

在分布式微服务架构中,当应用数量和各个应用部署实例的数量较多时,如果还是手动去实现配置信息的修改或数据的迁移等,其效率是很低的。且认为手动操作的也有可能出现错误的情况,从而引发应用发布错地方、启动不了、发不通等情况。

为了解决以上问题,开发了基于Zookeeper的配置中心(微服务配置中心:mconf),用于解决以上问题。同时新引入了微服务配置中心也为架构带来了运维成本和故障风险。因此建议不要强制依赖mconf,即没有mconf也能正常使用,当然有了mconf更好,可以为我们解决很多繁琐的事情。mconf依赖的Zookeeper可以靠集群来实现高可用,但mconf本身的问题也是可能存在的,所以使用请慎重。

核心支持功能:

支持精简版mconf:管理精简版的“app-conf”结构型配置

支持多数据中心配置管理

支持多环境配置原理

支持配置文件分组管理

支持配置文件多版本管理

支持单个配置文件多数据项结构(List型)

支持配置文件存储的高可靠(由Zookeeper和Redis保证)

2 配置接口

2.1 SDK端核心接口

该SDK主要用于给各个应用提供一个配置中心的工具包。

接口1: 订阅当前应用的所有配置或订阅当前应用下的部分指定配置

void subscribe(NotifyListener listener, String application, String... configs) throws MicroConfigException;

接口2: 取消订阅

void unsubscribe(String application, String... configs) throws MicroConfigException;

接口3: 拉取当前应用的所有配置或拉取当前应用下的部分配置

List pull(String application, String... configs) throws MicroConfigException;

2.2 OPS端配置数据运维接口

该组接口主要用于运维端管理配置数据而是用。

接口1:发布一条配置信息

boolean publish(MetaMultiDataConfig metaMultiDataConfig) throws MicroConfigException;

接口2:删除一条配置信息

boolean delete(MetaConfig metaConfig) throws MicroConfigException;

接口3:搜索配置信息列表(支持按环境、应用、配置、版本号和关键词的搜搜)

List search(MetaConfig metaConfig, String keyword) throws MicroConfigException;

接口4:订阅所有配置

void subscribe(NotifyListener listener) throws MicroConfigException;

接口5:取消订阅

void unsubscribe() throws MicroConfigException;

接口6:清空配置中心所有数据

void clear() throws MicroConfigException;

2.3 OPS端环境运维接口

该组接口主要用于运维端维护一套环境数据清单。

接口1:发布一个环境

boolean publish(String environment, String name) throws MicroConfigException;

接口2:删除一个环境

boolean delete(String environment) throws MicroConfigException;

接口3:查询所有的环境列表

Set environments() throws MicroConfigException;

2.4 OPS端配置关系运维接口

该组配置主要用于运维一套"应用-配置-版本"的映射关系。

接口1:发布一条配置关系数据

boolean publish(String application, String name, String[] configs, String[] versions) throws MicroConfigException;

接口2:删除一条配置关系数据

boolean delete(String application, String config, String version) throws MicroConfigException;

接口3:查询所有的配置映射关系数据

Set applicationConfigVersions() throws MicroConfigException;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值