构建电子商务网站的步骤,重庆建设人才促进网,公众号怎么制作教程,滨海网站建设找哪家好微内核架构#xff08;Microkernel Architecture#xff09; 一. 什么是微内核架构二. 微内核架构风格-拓扑结构三. 微内核的核心系统设计的三个关键点3.1 插件管理3.2 插件连接3.3 插件通信 四. 微内核架构的优缺点 一. 什么是微内核架构 微内核架构是一种面向功能进行拆分的… 微内核架构Microkernel Architecture 一. 什么是微内核架构二. 微内核架构风格-拓扑结构三. 微内核的核心系统设计的三个关键点3.1 插件管理3.2 插件连接3.3 插件通信 四. 微内核架构的优缺点 一. 什么是微内核架构 微内核架构是一种面向功能进行拆分的可扩展性架构通常用于实现基于产品的应用。 微内核架构Microkernel Architecture有时也被称为插件化架构Plug-in Architecture是一种面向功能拆分的可扩展性架构通常用于实现基于产品的应用。例如Eclipse类IDE软件、UNIX类操作系统、淘宝App类客户端软件等也有部分企业将业务系统设计成微内核架构例如保险公司的保险核算逻辑系统不同保险品种可以将逻辑封装成插件。
我们常用的从IDE到框架Eclipse、IntelliJ IDEA、SPI等插件化架构设计的比比皆是。但如果深入一些能够把插件化架构阐述清楚并能够借鉴思想对我们在做的工作进行优化尤其是在架构设计上并不简单。
二. 微内核架构风格-拓扑结构
从下图可见微内核架构的拓扑结构由两部分组件组成核心系统core system和插件模块plug-in modules。微内核架构模式包括两种类型的架构组件核心系统和插件模块允许你将其他应用程序功能作为插件添加到核心应用程序从而提供可扩展性、灵活性以及功能分离和隔离。 核心系统的功能相对稳定不会因为业务功能扩展而不断修改而插件模块是可以根据实际业务功能的需要不断地调整或扩展。微内核架构本质就是将可能需要不断变化的部分封装在插件中从而达到快速灵活扩展的目的而又不影响整体系统的稳定。模块加载和模块通信是核心系统提供的功能。
三. 微内核的核心系统设计的三个关键点
3.1 插件管理
插件管理需要知道当前系统中有多少个插件哪些插件处于可用状态何时加载一个插件以及何如加载一个插件。
常见实现是插件注册表。
核心系统提供插件注册表配置文件、代码或者数据库插件注册表有每个插件的信息包括名字、位置、加载时机启动加载还是按需加载等。
3.2 插件连接
插件连接制定了一个插件与核心系统的通信方式也就是连接规范。
插件按照规范实现核心系统按照规范加载。
常见的连接机制有 OSGiEclipse使用、消息模式、依赖注入Spring使用甚至分布式的协议都是可以的比如RPC或者HTTP Web的方式。
3.3 插件通信
插件模块的设计要实现低耦合但一个业务请求往往需要几个插件模块共同协作来实现这就需要插件之间实现相互通信。
插件间并没有直接联系所以插件间通信必须通过核心系统因此核心系统需要提供插件通信机制。和计算机类似计算机的CPU、硬盘、内存、网卡是独立设计的配件但运行过程中各个部件肯定是有通信的计算机通过主板上的总线提供了组件间的通信功能。微内核的核心系统也需要提供类似的通信机制各个插件间才能进行正常的通信。
四. 微内核架构的优缺点
1灵活性高 能够快速响应不断变化的环境。通过插件模块的松散耦合实现可以进行隔离变更等并且快速满足需求。 易扩展、易裁剪。
2易于部署 功能之间是隔离的插件之间可以独立的加载和卸载。
3可测试性高 插件模块可单独测试能够非常简单地被核心系统模拟出来进行演示或者在对核心系统很小影响甚至没有影响的情况下对一个特定的特性进行原型展示。
4通信效率低 插件通过内核实现间接通信需要更多开销。
5开发难度高 微内核架构需要设计因此实现起来比较复杂。