服务:简聊微内核结构

1 简介:微内核架构

微内核架构是指内核的一种精简形式,将通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入选,达到系统的可扩展性、更好地适应环境要求。

微内核:内核管理着所有的系统资源,在微内核中用户服务和内核服务在不同的地址空间中实现。

该结构是向最初并非设计为支持它的系统添加特定功能的最佳方式。

此体系结构消除了对应用程序可以具有的功能数量的限制。我们可以添加无限的插件(例如Chrome浏览器有数百个插件,称为扩展程序)

2 一个简单例子

微内核架构(也称为插件结构)通常用于实现可做为第三方产品下载的应用程序。此结构在内部业务程序很常见。

实际上,它可以被嵌入到其他模式中,例如分层体系中。典型的微内核架构有两个组件:核心系统和插件模块

markdown 复制代码
	plug-in                  plug-in
		 core system    
    plug-in                  plug-in

漂亮一点的图

由上图可知,微内核架构也被称为插件架构模式(Plug-inArchitecture Patterm),通常由内核系统和插件组成的原因。

核心系统包括使系统正确运行的最小业务逻辑。可以通过连接插件组件添加更多功能,扩展软件功能。就像为汽车添加涡轮以提高动力。

插件组件可以使用开放服务网关计划(OSGi),消息传递,Web服务或对象实例化进行连接。 需要注意的是,插件组件是独立的组件,是为扩展或增强核心系统的功能,不应与其他组件形成依赖。

常见的系统结构使用微内核的如:嵌入式Linux、L4、WinCE。

  • 优缺点说明

微服务在应用程序和硬件的通信中,内核进程和内存管理的极小的服务,而客户端程序和运行在用户空间的服务通过消息的传递来建立通信,它们之间不会有直接的交互。

这样微内核中的执行速度相对就比较慢了,性能偏低这是微内核架构的一个缺点。

微内核系统结构相当清晰,有利于协作开发;微内核有良好的移植性,代码量非常少;微内核有相当好的伸缩性、扩展性。

3 小结

scss 复制代码
(1)微内核架构难以进行良好的整体化优化。

由于微内核系统的核心态只实现了最基本的 系统操作,这样内核以外的外部程序之间的独立运行使得系统难以进行良好的整体优化。

scss 复制代码
(2)微内核系统的进程间通信开销也较单一内核系统要大得多。

从整体上看,在当前硬件条件下,微内核在效率上的损失小于其在结构上获得的收益。

scss 复制代码
(3)通信损失率高。

微内核把系统分为各个小的功能块,从而降低了设计难度,系统的维护与修改也容易,但通信带来的效率损失是一个问题。

相关推荐
程序员张34 分钟前
SpringBoot计时一次请求耗时
java·spring boot·后端
热爱生活的猴子2 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
小马爱打代码3 小时前
微服务外联Feign调用:第三方API调用的负载均衡与容灾实战
微服务·架构·负载均衡
程序员岳焱6 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
计算机毕设定制辅导-无忧学长6 小时前
西门子 PLC 与 Modbus 集成:S7-1500 RTU/TCP 配置指南(一)
服务器·数据库·tcp/ip
麦兜*7 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
大只鹅7 小时前
解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
spring boot·后端·elasticsearch
ai小鬼头7 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github
9527华安7 小时前
FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
fpga开发·架构·网卡·ethernet·nic·40g·pcie4c
IT_10248 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle