从0开始学架构
李运华
资深技术专家
立即订阅
38968 人已学习
课程目录
已完结 59 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 照着做,你也能成为架构师!
免费
基础架构 (13讲)
01 | 架构到底是指什么?
02 | 架构设计的历史背景
03 | 架构设计的目的
04 | 复杂度来源:高性能
05 | 复杂度来源:高可用
06 | 复杂度来源:可扩展性
07 | 复杂度来源:低成本、安全、规模
08 | 架构设计三原则
09 | 架构设计原则案例
10 | 架构设计流程:识别复杂度
11 | 架构设计流程:设计备选方案
12 | 架构设计流程:评估和选择备选方案
13 | 架构设计流程:详细方案设计
高性能架构模式 (8讲)
14 | 高性能数据库集群:读写分离
15 | 高性能数据库集群:分库分表
16 | 高性能NoSQL
17 | 高性能缓存架构
18 | 单服务器高性能模式:PPC与TPC
19 | 单服务器高性能模式:Reactor与Proactor
20 | 高性能负载均衡:分类及架构
21 | 高性能负载均衡:算法
高可用架构模式 (10讲)
22 | 想成为架构师,你必须知道CAP理论
23 | 想成为架构师,你必须掌握的CAP细节
24 | FMEA方法,排除架构可用性隐患的利器
25 | 高可用存储架构:双机架构
26 | 高可用存储架构:集群和分区
27 | 如何设计计算高可用架构?
28 | 业务高可用的保障:异地多活架构
29 | 异地多活设计4大技巧
30 | 异地多活设计4步走
31 | 如何应对接口级的故障?
可扩展架构模式 (6讲)
32 | 可扩展架构的基本思想和模式
33 | 传统的可扩展架构模式:分层架构和SOA
34 | 深入理解微服务架构:银弹 or 焦油坑?
35 | 微服务架构最佳实践 - 方法篇
36 | 微服务架构最佳实践 - 基础设施篇
37 | 微内核架构详解
架构实战 (13讲)
38 | 架构师应该如何判断技术演进的方向?
39 | 互联网技术演进的模式
40 | 互联网架构模板:“存储层”技术
41 | 互联网架构模板:“开发层”和“服务层”技术
42 | 互联网架构模板:“网络层”技术
43 | 互联网架构模板:“用户层”和“业务层”技术
44 | 互联网架构模板:“平台”技术
45 | 架构重构内功心法第一式:有的放矢
46 | 架构重构内功心法第二式:合纵连横
47 | 架构重构内功心法第三式:运筹帷幄
48 | 再谈开源项目:如何选择、使用以及二次开发?
49 | 谈谈App架构的演进
50 | 架构实战:架构设计文档模板
特别放送 (7讲)
架构专栏特别放送 | “华仔,放学别走!”第1期
架构专栏特别放送 | “华仔,放学别走!” 第2期
如何高效地学习开源项目 | “华仔,放学别走!” 第3期
架构师成长之路 | “华仔,放学别走!” 第4期
架构师必读书单 | “华仔,放学别走!” 第5期
新书首发 | 《从零开始学架构》
致「从0开始学架构」专栏订阅用户
结束语 (1讲)
结束语 | 坚持,成就你的技术梦想
从0开始学架构
登录|注册

37 | 微内核架构详解

李运华 2018-07-21
微内核架构(Microkernel Architecture),也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品(原文为 product-based,指存在多个版本、需要下载安装才能使用,与 web-based 相对应)的应用。例如 Eclipse 这类 IDE 软件、UNIX 这类操作系统、淘宝 App 这类客户端软件等,也有一些企业将自己的业务系统设计成微内核的架构,例如保险公司的保险核算逻辑系统,不同的保险品种可以将逻辑封装成插件。
今天我将为你详细介绍常见的微内核架构及其实现

基本架构

取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学架构》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(28)

  • 性能
    突然发现我们用了很久的框架,是微内核架构

    作者回复: 惊不惊喜,意不意外,醍醐灌顶😄

    2018-08-01
    6
  • Johnny.Z
    规则引擎Esper 可以使用类sql编写规则,入门比较简单,不过功能应该没Drools强大
    2018-07-27
    6
  • 小喵喵
    1 规则引擎,我简单的理解为开发人员把规则提前写到数据库,这个是基础数据,然后用户选择规则,具体选择了那些规则可以通过外键关联。
    2 那么多规则,就比如促销的例子,用策略模式实现是否更妥当?

    作者回复: 纯代码实现可以用策略模式,但每次新来一种促销都要写代码,虽然代码写的少,但还是要测试部署

    2018-07-22
    3
  • xiao皮孩。。
    作者对规则引擎情有独钟啊

    作者回复: 业务需要,不是我情有独钟😂

    2019-04-04
    2
  • 汉斯·冯·拉特
    老师,能不能写个基于微内核的代码例子在github上,之前也听过微内核,但是到目前为止,接触到的都是分层结构的架构

    作者回复: 你可以对照Drools的文档写个促销的方案

    2018-07-25
    2
  • Snway
    采用过esper实现复杂事件流处理引擎,看完此文,对原有架构设计有更深层次理解,感谢华仔

    作者回复: 我去学习esper😄

    2018-07-23
    2
  • 醉爱星巴克
    想问问流程引擎算不算规则引擎的一种呢?

    作者回复: 流程引擎应该是粗粒度的规则引擎

    2018-07-22
    2
  • 空档滑行
    Atlas通过Bundle Framework,提供Bundle管理、加载、生命周期、安全等一些最基本的能力。

    通过运行期管理层,提供功能清单,在调用时方便查找;提供版本管理,代理系统的运行环境


    2018-07-21
    2
  • 飘宝
    李老师,我已经找到了基于产品这种说法的基本出处了,是在Mark Richards的软件架构模式中描述的。其中也对比了几种常见的架构,写的还是很实用的。
    我也买了您的从零开始学架构的书,是一本非常适合反复翻阅的书。

    作者回复: 谢谢,加油😊

    2019-04-23
    1
  • 无聊夫斯基
    微内核我还真没接触过,又get到灵活的方案

    作者回复: 银行,保险,电商用的比较多

    2018-09-14
    1
    1
  • 噗╰_╯噗 
    REngine,回答楼上,.net规则引擎
    2018-08-21
    1
  • 小鱼儿
    以前做电子合同时有涉及到规则引擎,计算很快,不知道.net有没有类似于Drools的框架?

    作者回复: 抱歉,对.net不熟😄

    2018-07-23
    1
  • jason
    尝试了一下用规则引擎实现各种活动的业务逻辑,感觉很复杂,比如首先第一步你需要通过运营配置的原子规则构造规则模板,这一步少不了代码中写ifelse或者模板中写when then ,第2步需要把业务逻辑封装成各种规则规则,第3步组装规则为新业务,感觉还不如策略模式好维护和效率高,唯一的优点貌似只是动态化,并且这种规则运营会不会使用

    作者回复: 可能是你们的规则抽象太细,基本等同于代码块了,所以觉得比较难用,不过确实规则引擎里面各种if和when也是比较复杂的

    2019-11-24
  • godtrue
    打卡,微内核架构设计和Atlas这两个都貌似都未接触过,先记下一笔,日后回头再看。
    2019-09-03
  • 弄花香满衣
    老师您好,每个规则对应的取数规则编码到程序中的吗?如果想实现让业务自己根据数据源,抽取出自定义规则,有没有好办法?我想到的是脚本语言,比如java+groovy,还有其他方法吗?

    作者回复: 把规则引擎嵌入到业务代码中

    2019-08-03
  • Boh
    请教老师一个问题,我们目前使用的规则引擎就是这种架构,不过目前存在一个比较头疼的问题,就是对内开放了一个引擎调用接口,可是由于规则非常多,所以接口的请求参数和响应参数是动态的,所以接口调用传参比较头疼。目前我们的做法是将规则根据业务整合成起来,然后将每个业务的输入参数输出参数写入配置表,调用方先根据业务类型读取配置表查询输入输出参数的定义和类型,然后调用方自己生成这份数据调用接口,这样导致接入很不友好同时每次变动改动的地方非常多,而且配置表也越来越臃肿,请问老师这种情况有什么比较好的方案吗

    作者回复: 调用方自己管理各自的配置,不要由规则引擎来管理

    2019-07-28
  • 刘工的一号马由
    微内核架构和微服务架构区别就在于粒度吗?

    作者回复: 形式也不同,微内核是一个应用,微服务是多个应用

    2019-07-15
  • loveluckystar
    之前一直觉得插件间通信是个很高深莫测的东西,后来真正实操一把发现,直接通过统一的上下文透传,这种数据流不也是一种插件通信方式🐼 真的要善于总结思考才行
    2019-07-01
  • 花花大脸猫
    在实际场景中遇到的微内核架构基本没有,读了老师这篇文章,有了一个形象的了解,期待能在后续多接触接触微内核这块的架构,老师的文章干货满满!!

    作者回复: 谢谢✌✌😊

    2019-04-21
  • 飘宝
    李老师,文中提到的product-base是哪本书或者哪篇文章中说的,还有对应的web-based

    作者回复: 没法知道最原始的出处,你可以理解为通用说法即可以

    2019-04-03
收起评论
28
返回
顶部