37 | 微内核架构详解
该思维导图由 AI 生成,仅供参考
基本架构
- 深入了解
- 翻译
- 解释
- 总结
微内核架构是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品的应用。该架构包含核心系统和插件模块两类组件,核心系统负责通用功能,而插件模块负责实现具体的业务逻辑。设计关键点包括插件管理、插件连接和插件通信。OSGi是一种常见的微内核架构实现,提供了模块层、生命周期层和服务层,用于插件管理、连接和通信。该架构具有动态化、热插拔、高可复用性、高效性等优点,适用于各种应用环境。 规则引擎是微内核架构的一种具体实现,通过执行引擎解析配置好的业务流,执行其中的条件和规则,从而支持业务的灵活多变。规则引擎在计费、保险、促销等业务领域应用广泛,能够灵活应对各种需求。规则引擎的基本架构包括插件管理、插件连接和插件通信,与微内核架构的设计关键点相对应。 最常用的规则引擎是开源的JBoss Drools,它具有活跃的社区支持、快速的执行速度以及与Java Rule Engine API兼容等优点。然而,规则语言相对复杂,需要封装成可视化操作以降低学习和理解成本,使其更适合普通业务人员使用。 总的来说,微内核架构及其具体实现规则引擎在实现插件管理、连接和通信方面具有显著优势,能够提高系统的灵活性和可扩展性,适用于各种业务环境。
《从 0 开始学架构》,新⼈⾸单¥68
全部留言(52)
- 最新
- 精选
- 性能突然发现我们用了很久的框架,是微内核架构
作者回复: 惊不惊喜,意不意外,醍醐灌顶😄
2018-08-0139 - Boh请教老师一个问题,我们目前使用的规则引擎就是这种架构,不过目前存在一个比较头疼的问题,就是对内开放了一个引擎调用接口,可是由于规则非常多,所以接口的请求参数和响应参数是动态的,所以接口调用传参比较头疼。目前我们的做法是将规则根据业务整合成起来,然后将每个业务的输入参数输出参数写入配置表,调用方先根据业务类型读取配置表查询输入输出参数的定义和类型,然后调用方自己生成这份数据调用接口,这样导致接入很不友好同时每次变动改动的地方非常多,而且配置表也越来越臃肿,请问老师这种情况有什么比较好的方案吗
作者回复: 调用方自己管理各自的配置,不要由规则引擎来管理
2019-07-2815 - xiao皮孩。。作者对规则引擎情有独钟啊
作者回复: 业务需要,不是我情有独钟😂
2019-04-0414 - 小喵喵1 规则引擎,我简单的理解为开发人员把规则提前写到数据库,这个是基础数据,然后用户选择规则,具体选择了那些规则可以通过外键关联。 2 那么多规则,就比如促销的例子,用策略模式实现是否更妥当?
作者回复: 纯代码实现可以用策略模式,但每次新来一种促销都要写代码,虽然代码写的少,但还是要测试部署
2018-07-2213 - 醉爱星巴克想问问流程引擎算不算规则引擎的一种呢?
作者回复: 流程引擎应该是粗粒度的规则引擎
2018-07-22212 - 奋斗心那能不能说规则引擎用了策略模式
作者回复: 你可以理解为道理是相通的,但不要这么等同,规则引擎是面向功能的一个架构设计模式,策略模式是一个面向对象的类设计模式
2018-09-289 - 无聊夫斯基微内核我还真没接触过,又get到灵活的方案
作者回复: 银行,保险,电商用的比较多
2018-09-1429 - Geek_b6e6bc你好 老师。读了这节感觉收益很多,尤其是加深对spring的认识,有点体会,想到了其他的 mysql是不是也是个微内核架构 server层是公用核心部分,存储引擎层属于插件,可以替换, 还有dubbo框架也算是个微内核架构
作者回复: MySQL不能算微内核,MySQL只是存储引擎做成了插件,微内核的内核一定要“微”,只负责插件管理和插件通信等基础功能,而MySQL的server层是核心功能,包括SQL引擎、查询优化、binlog等
2021-05-156 - 飘宝李老师,我已经找到了基于产品这种说法的基本出处了,是在Mark Richards的软件架构模式中描述的。其中也对比了几种常见的架构,写的还是很实用的。 我也买了您的从零开始学架构的书,是一本非常适合反复翻阅的书。
作者回复: 谢谢,加油😊
2019-04-236 - 汉斯·冯·拉特老师,能不能写个基于微内核的代码例子在github上,之前也听过微内核,但是到目前为止,接触到的都是分层结构的架构
作者回复: 你可以对照Drools的文档写个促销的方案
2018-07-255