
如何設計出核心功能穩定,業務功能不斷擴展的軟件系統,我想到了微內核架構。
定義
微內核架構又叫做插件架構,是面向功能進行拆分的可擴展架構。
比如:Eclipse插件,Linux ;
架構圖

插件管理
插件註冊表機制:名字,位置,加載時機;
插件連接
指的是插件如何連接到核心系統。
插件間通信
插件之間是解耦的,插件之間通信必須通過核心系統,核心系統提供插件的通信機制;
OSGI
Open Services Gateway initiative 主動開放服務網關; OSGi 具備動態化、熱插拔、高可複用性、高效性、擴展方便等優點;
最具代表性的是Eclipse的插件,採用的是OSGI規範設計規範。
OSGI框架
OSGI架構圖
規則引擎
屬於微內核架構的一種實現,執行引擎對應core system核心系統(微內核),執行引擎執行配置好的業務流程,規則,通過這種方式來支持業務的靈活多變。
工作場景:
工作流程:
對應微內核架構的插件核心:
代表產品 jboss drools, 基於 rete算法實現規則引擎,他的規則語言接近編程語言,一般包裝成可視化界面來間接生成。
小結
本篇首先定義了微內核架構,即 面向功能拆分的可擴展架構。
以及他的組成部分,即內核和插件。
以及它需要解決的核心問題,插件管理,插件連接,插件間通信;
最後介紹了兩種微內核架構,OSGI 和規則引擎 ;
我會持續分享Java軟件編程知識和程序員發展職業之路! 原創不易,關注誠可貴,轉發價更高!轉載請註明出處,讓我們互通有無,共同進步,歡迎溝通交流。