一、背景简介
之前的系列文章介绍了如何实现一个高扩展性系统,分享了业界一些最佳实践,前一系列文章请参考: 中台扩展性设计。
框架最新v3.0.1进行重磅升级,API更简洁易用,同时提供强大的可视化管理后台能力,方便对系统扩展点、能力及业务进行查看管理。
框架github地址: easy-extension
二、基础概念回顾
2.1 框架定位
EasyExtension框架主要解决复杂系统的扩展性问题。由系统提供扩展点,业务进行个性化实现,最终实现平台和业务方逻辑的解耦。框架适用于复杂且需要高扩展的业务场景,例如电商交易,履约等中台。
2.2 基础概念
-
扩展点: 扩展点是系统提供的扩展能力,本质就是一个接口,业务方通过自定义实现进行扩展。
-
能力: 能力是一组扩展点的实现,是系统提供的通用产品能力,业务可以通过挂载能力来继承能力的扩展点实现。
-
业务:业务即系统接入方,可以通过挂载能力来继承能力的扩展点实现,也可以对扩展点进行自定义实现。从系统角度看,业务也是一组扩展点的实现。
三、v3使用示例
具体的示例可以参考: easy-extension-sample
3.1 扩展点注入及使用示意

添加图片注释,不超过 140 字(可选)
3.2 扩展点定义

添加图片注释,不超过 140 字(可选)
3.3 能力定义

添加图片注释,不超过 140 字(可选)
3.4 业务定义

添加图片注释,不超过 140 字(可选)
四、管理后台简介
4.1 扩展点、能力 & 业务可视化管理
将上述定义的扩展点,能力及扩展点通过可视化后台进行管理展示。

添加图片注释,不超过 140 字(可选)
4.2 提供扩展点冲突检测能力
由于业务可以挂载能力(即继承了能力的扩展点实现),因此扩展点就可能匹配到多个实现,框架通过有指定优先级方式进行冲突解决。管理后台提供了可能存在的扩展点冲突检测能力,便于接入阶段进行冲突解决,避免扩展点的错误调用。

添加图片注释,不超过 140 字(可选)
五、小结
本文主要回顾了easy-extension框架的一些基础概念,分享了最新v3版本的使用样例。
笔者在大厂多年从事交易系统开发,对系统扩展性设计有丰富的经验,希望分享能够给大家带来帮助。