Flexible Config Center Design

Design Principal:

1. Split control flow with data config.

2. Configurable in control flow.

3. Extensible in data config.

4. Multi version data support.

Components:

Pipe Filter:

Cacher:  Cache the result config if needed.

VersionSelector:  Select appropriate version handler to deal with configs.

DataVersionSelector: Decide which version handler to process the request according to data version.

VersionHandler: Process request with current version logic

Assembler:  Assemble the configs and produce the “Hierarchy“.

Assemble rule:  Concrete rule/strategy to assemble configs. e.g. rule to assemble midInfo.

Executor: Execute config merge logic and produce result config according to “hierarchy“ and “configs“.

executor instance: Concrete executor instance to bind with concrete assemblerRule.

Validator: Validate the result config and build error when needed.

Data:

Hierarchy: Define and store relationship of related configs.

Configs:  Define and store all kinds of config. e.g. acquirer-setting, merchant-setting, organization-setting, company-setting, store-setting, application-setting, walletAccount-setting.


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 12,872评论 0 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,744评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,356评论 4 8
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 8,425评论 1 3
  • 回这一趟老家,心里多了两个疙瘩。第一是堂姐现在谈了一个有妇之夫,在她的语言中感觉,她不打算跟他有太长远的计划,这让...
    安九阅读 8,898评论 2 4

友情链接更多精彩内容