最近看dubbo和soul源码的时候,都遵循了 微内核 + 插件化的设计原则。
dubbo 高扩展,插件化思想
soul 提供了插件化能力
一句话,就是保住 核心系统的最小可用+ 插件机的可扩展性的设计原则。业务逻辑,都集成在插件系统中
引言
微内核架构是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品的应用。
一、基本架构
微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules)。应用逻辑被分割为独立的插件模块和核心系统,提供了可扩展性、灵活性、功能隔离和自定义处理逻辑的特性。
- 核心系统通常提供系统运行所需的最小功能集。负责和具体业务功能无关的通用功能
- 插件模块插件模块是独立的模块,包含特定的处理、额外的功能和自定义代码,来向核心系统增强或扩展额外的业务能力。负责实现具体的业务逻辑
微内核架构的本质,是将变化封装在插件里面,从而达到快速灵活扩展的目的,而又不影响整体系统的稳定。
二、设计关键点
2.1 插件管理
- 插件列表
- 加载方式
- 加载时机
常见实现方法:插件注册表机制
2.2 插件连接
插件如何连接到核心系统?
- 核心系统制定连接规范
- 插件按照规范实现
- 核心系统按照规范加载
常见连接机制:
- OSGi(Eclipse使用)
- 消息模式
- 依赖注入(Spring使用)
2.3 插件通信
- 核心系统需要提供插件通信机制
引用
330097518 服务通讯延伸能力 【重点推荐】⭐
637457.htm dubbo与微内核
141654274 dubbo微内核架构演进【重点】⭐
gfk2c1#fe59bb13 soul与微内核架构 ⭐
157615131 从零开始学架构 书籍内容
1426020 微服务知识普及
02丨进阶篇 (11讲)/07丨架构设计:设计一个灵活的RPC框架.html ⭐