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

Reply via email to