微內核架構詳解


極客時間:《從 0 開始學架構》:微內核架構詳解
微內核架構(Microkernel Architecture),也被稱為插件化架構(Plug-in Architecture),是一種面向功能進行拆分的可擴展性架構,通常用於實現基於產品(原文為 product-based,指存在多個版本、需要下載安裝才能使用,與 web-based 相對應)的應用。

基礎架構

微內核架構包含兩類組件:核心系統(core system)和插件模塊(plug-in modules)。核心系統負責和具體業務功能無關的通用功能,例如模塊加載、模塊間通信等;插件模塊負責實現具體的業務邏輯。
微內核的基本架構示意圖如下:

微內核的架構本質就是將變化部分封裝在插件里面,從而達到快速靈活擴展的目的,而又不影響整體系統的穩定。

設計關鍵點

微內核的核心系統設計的關鍵技術有:插件管理、插件連接和插件通信。

  • 1、插件管理
    核心系統需要知道當前有哪些插件可用,如何加載這些插件,什么時候加載插件。常見的實現方法是插件注冊表機制。
    核心系統提供插件注冊表(可以是配置文件,也可以是代碼,還可以是數據庫),插件注冊表含有每個插件模塊的信息,包括它的名字、位置、加載時機(啟動就加載,還是按需加載)等。
  • 2、插件連接
    插件連接指插件如何連接到核心系統。通常來說,核心系統必須制定插件和核心系統的連接規范,然后插件按照規范實現,核心系統按照規范加載即可。
    常見的連接機制有 OSGi(Eclipse 使用)、消息模式、依賴注入(Spring 使用),甚至使用分布式的協議都是可以的,比如 RPC 或者 HTTP Web 的方式。
  • 3、插件通信
    插件通信指插件間的通信。插件之間沒有直接聯系,通信必須通過核心系統,因此核心系統需要提供插件通信機制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM