服务平台化

1 思路

1.1 什么是所谓的平台化

系统层面:特定业务和通用服务分离,通用服务服务化。 技术层面:业务代码和通用代码相分离,通用代码模块化。

不管是上述哪种,要实现的效果就像树干与树枝的关系,树枝即业务,树干即通用服务。 树干简单粗壮,才能支持更繁茂的树枝。

1.2 怎样构建平台化

  • 需要确认自己的产品的边界在哪里
    即你需要知道哪些逻辑需要交给业务端来做,哪些才能是平台产品来负责,应该将特殊的逻辑交给业务端来处理,保留公共的部分;
  • 平台就是一个生态要有自己的规则
    知道自己的业务边界之后,需要接入各条产品线,那么你就要有自己的规则,让业务方按照你的规则来做事,不能让他们随心所欲,否则最受伤的是你自己;
    —http://www.pmcaff.com/article?id=2000000000000088

1.3 目标

  • 业务和平台分离。 平台将不关心具体的业务,只通过抽象统一的模型去完成业务逻辑。平台提供定制扩展机制,方便业务方通过定制扩展开发实现自己的业务需求。
  • 业务隔离 业务方将作为平台的ISV(Independent Software Vendors),通过交易平台,设计开发自己的业务。各业务方完全隔离,如果需要对方提供的服务,该业务方可以通过平台注册提供服务。对于调用者来着,这互相彼此完全透明。业务方只和平台打交道。
  • 变化和实现分离 在复杂业务平台系统中,业务变动需求频繁,比如大促期间,招商平台需要对玩法,招商流程等进行快速调整。因此我们需要把业务变化通过规则引擎管理起来,实现变化与实现分离,通过规则引擎去快速响应需求变化而不是硬编码实现,从而提高业务服务能力和系统稳定性。
  • 职责功能分离 系统实现通过plugin形式实现,通过在平台的注册提供服务,形成微服务架构,减少系统之间耦合,使系统实现简明规范,并且系统之间易于通过事件驱动方式协调,提高系统性能和稳定。
    ——https://yq.aliyun.com/articles/47515

2 实施

按照其中的思路1.

3 参考资料

两篇平台化鼻祖

####其他