servicecomb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mohammad Asif Siddiqui <asifdxtr...@apache.org>
Subject Re: [PROPOSAL] ServiceComb MetaConfig
Date Thu, 11 Apr 2019 05:03:23 GMT
 +1 For this proposal, we definitely need an easy and understandable way of managing the configurations(I
really like the example of timeout given by Xiaoliang in this mail thread). We can leverage
the experience of using the config-center & apollo and try to address all the pain points
while desigining this new Configuration Management.  
  
As far as name is concerned "rokie' sounds good to me.  
  
I think we can go ahead for a PMC vote or directly create a new repo under apache and start
the development. But before that I would recommend Xiaoliang to share the HLD for this new
Configuration Management and other PMC's can give their feedback.  
  
Just my 2 cents...  
  
Regards  
Asif

On 2019/04/07 11:41:00, Xiaoliang Tian <xiaoliang.tian@gmail.com> wrote: 
> I prefer rokie. "kie" has same pronouce with key and "ro" means rollable,
> although rollable is not the most attractive feature of this service, but
> this rokie  sounds like a name
> 
> Willem Jiang <willem.jiang@gmail.com> 于2019年4月5日周五 下午10:59写道:
> 
> > 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
> > <xiaoliang.tian@gmail.com> 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 <willem.jiang@gmail.com> 于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
> > > > <xiaoliang.tian@gmail.com> 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
> > > >
> >
> 

Mime
View raw message