认识微服务架构

定义:微内核架构(Microkernel Architecture),也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品的应用。

微服务架构内部包括核心系统和插件模块:

核心系统比较稳定,改动低;插件系统改动频繁,能够快速扩展。

核心系统设计关键

《微内核架构》中提到,核心系统的设计关键主要体现在“处理插件”上:

实战:tcb-admin-node

上面说了这么多,还是配合代码才能更好理解这种设计的好处。以 tcb-admin-node.js 为例,它不完全是基于微内核的思路进行设计的,但是在扩展能力这块的设计,和微内核思想有着异曲同工之妙。

打开项目根目录下的index.js文件,可以看到挂在 Tcb 原型链上的 registerExtension 和 invokeExtension

方法,如下图所示:

https://tva1.sinaimg.cn/large/007S8ZIlly1gegkgqy1tbj314t0u013u.jpg

registerExtension 负责注册插件。invokeExtension 负责按照名称调用插件,并且传入 Tcb 对象。

根据tcb 扩展能力文档,可以看到,插件的注册是在init之后:

const extCi = require("@cloudbase/extension-ci");
tcb.init({
    env: "您的环境ID"
});
tcb.registerExtension(extCi);
Powered by Fruition