I think we could create a new repo for creating a prototype this meta-data management project. Now we just need to decide the name of the repo.
Willem Jiang Twitter: willemjiang Weibo: 姜宁willem On Fri, Mar 29, 2019 at 12:16 PM Xiaoliang Tian <[email protected]> wrote: > > maybe the name confused,it is a service only for configurations,but > the key contains metadata > key1: log_level(service=cart, version=1.0, app=mall) > key2: log_level(service=cart, version=1.0, app=mall, ip=x.x.x.x) > that is 2 different keys > > you can consider apollo has fixed metadata and one fixed view to math their > own scenario. > > but in apollo, key can be very complicated, user can not easily observe > keys, a lot of metadata will be attacted to key name, just like ip to > "log_level" > > Willem Jiang <[email protected]> 于2019年3月29日周五 上午11:36写道: > > > Hi Xiaoliang, > > > > Do you propose we start a new project to manage the micro services meta > > datas? > > Currently we just have a solution to integrate with with Apollo for > > configuration management, but what's the difference between the > > service metadata and configuration? > > I could help us to understand the proposal, if we can drop a clear line > > for it. > > > > > > Willem Jiang > > > > Twitter: willemjiang > > Weibo: 姜宁willem > > > > On Fri, Mar 29, 2019 at 10:52 AM Xiaoliang Tian > > <[email protected]> wrote: > > > > > > MetaConfig is a service for configuration management in an large scaled > > > distrbuted system. > > > > > > Currently we use ctrip appllo for config managment, but it is build for a > > > paticular scenario. it has fixed schema application,environment,cluster > > and > > > namespace. Each key belong to that schema. > > > > > > But it is not enough for operator to manage a complicated infrasctructure > > > or application cluster. > > > > > > So here is the proposal to build a brand new config management service, > > > > > > *Features: * > > > *key with rich metadata: *user can define metadata for a key , that > > > distinguish from key to another key. a key will not be stringed by fixed > > > schema. metadata is like "env=test, service=cart, version=1.0" or > > > "cluster=xxx" or "env=test, service=cart, version=1.0, ip=x.x.x.x" > > > *validator: *value can be checked by user defined python script, so in > > > runtine if someone want to change this value, the script will check if > > this > > > value is properate. > > > *encryption webhook: *. value can by ecrypt by your custom encryption > > > service. > > > *event producer: *producer will send key changes event to a target > > > service(kafka,rabbitmq, customed). > > > *config view: *by setting metadata criteria, MetaConfig will aggregate a > > > view to return all key values which match those metadata, so that > > operator > > > can mange key in their own understading to a distributed system in > > > seperated views. > > > *config batch action: * with metadate, you can batch update, delete key > > > values. for example: update all "service=cart version=1.0" configuration > > > log level to "DEBUG" or just update "service=cart version=1.0, > > ip=x.x.x.x" > > > . > > > *rich value type: *not ony plain text any more, but support to be aware > > of > > > ini, json,yaml,xml and java properties > > > *heterogenous configuration system: *able to manage configuration in k8s > > > and consul or even more, you can update, delete, and use config view for > > > those systems, and you can integrate with your own config system to > > > MetaConfig by following standardized API and model > >
