一、微内核架构概述
(一)概念
1、微内核架构
微内核:精简的内核
宏内核:中央集权控制中心
- 核心系统
能运行的最小模块 - 插件模块
- 专业处理,额外特性的独立组件
- 增加/扩展核心系统的业务逻辑能力
- 连接方式
OSGI、消息机制、WEB服务、直接点对点绑定
- 插件注册表
名称、数据结构、远程访问协议
(二)微内核架构
1、微内核模式的核心
- 基本服务封装到微内核
- 插件模块负责整合某个特定领域的抽象
- 微内核负责通用的功能抽象
具体业务功能由插件负责
通用功能由内核负责 - 应用程序、服务器通过基于“事件”的微内核通信,用来沟通各个不同的模块
2、微内核架构设计的关键点
(1)插件管理
- 插件注册表
(2)插件连接
- 连接规范(通信方式)
(3)插件通信
- 通信机制
3、微内核架构的优点
- 整体灵活性高,能够快速响应不断变化的环境
- 易于部署,因为功能之间是隔离的,插件可以独立的加载和卸载
- 可定制性高,适应不同的开发需求
- 可测试性高,插件模块可以单独测
- 性能高
4、微内核架构的缺点
- 通信效率低,插件通过内核实现间接通信,需要更多开销
- 开发难度较高,微内核架构需要设计,因此实现起来比较复杂
- 通信规约,丰富的插件通信连接方式
- 版本控制复杂
二、微内核架构的质量特性
(一)功能性
- 加载与移除插件
- 插件的使用测试
- 黑盒测试方法
- 插件管理功能:手工测试
(二)信息安全性
1、插件的安全性进行评估
- 是否含有病毒
- 上传用户数据
- 窃取用户隐私
2、漏洞进行扫描分析
(三)可靠性
1、应用的稳定性
- 崩溃
- 闪退
- 兼容性降低
- 效率变低
(四)易用性
- 体现为:易操作、易理解
- 方便用户对已加载的插件进行管理或配置插件
三、微内核架构的测试策略
1、由需求文档确定本次需求的目标
2、单元测试
- 各模块测试,确认功能正常
3、集成测试
- 内核与插件之间是否存在问题
- 插件与插件之间是否存在问题
4、系统测试
- 实际运行环境
- 功能测试完成后再考虑兼容性、性能测试