IT教程 ·

我用十分钟告诉女朋友什么是微服务

Asp.net core下利用EF core实现从数据实现多租户(3): 按Schema分离 附加:EF Migration 操作,EF core (code first) 通过自动迁移实现多租户数据分离 :按Schema分离数据,EF core (code first) 通过自动迁移实现多租户数据分离 :按Schema分离数据

作为一位开发者,你一定常常听到像“我们采用了可伸缩的微效劳架构”、“我们正在设计切换到微效劳架构”之类的话,然后你覃思着:微效劳究竟是什么?近日,西达尔特·马霍特拉(Sidharth Malhotra)经由过程实在天下的比方诠释了什么是微效劳架构,重点内容以下。

大冰激凌机——单体

冰激凌机由四个部件构成——冰淇淋勺、坚果粉碎器、巧克力漏斗和草莓糖漏斗。冰淇淋勺往杯子里增添香草或芒果冰激凌,坚果粉碎器将碎坚果撒在冰激凌上,巧克力或草莓漏斗把液体糖浆倒在冰激凌上。关于主顾来讲,除了冰激凌勺以外,其他都是可选的。
假定你是冰激凌店的老板,一开始你有一台小冰激凌机,这个冰激凌机装备了一切上述的四个部件。主顾很喜欢你家的冰激凌,你的买卖愈来愈红火。那末接下来你会怎么做?你会买一台更大的冰激凌机,如许就能够在一样的时候内做出更多的冰激凌。依据如许的节拍发展下去,终有一天你会没办法再扩展范围,由于工场生产不出更大的冰激凌机了。
在软件开发范畴,这就是所谓的单体架构。一个包含了一切组件的应用程序,代码都存放在一个代码基库里。跟着需求的增进,你租用了愈来愈大的机械,而到了某个时候一定会到达极限,由于你租不到比如今更大的机械了。
这时候,你一定会想到经由过程购置更多的冰激凌机来处置惩罚这个问题。所以你摒弃了购置更大的冰激凌机的主意,而是购置更多小型的冰激凌机。
这就是所谓的“克隆”,你会运用多个应用程序实例来处置惩罚用户请求。
我用十分钟告诉女朋友什么是微服务 IT教程 第1张

每台机械各司其职——微效劳

在刚开店时,你只约请了一位担任维修和升级机械的师傅。但在购置了多台机械以后,你以为有必要约请更多的师傅,由于你不愿望有机械坏了影响买卖。
如今,有主顾愿望你家的店能够增添差别口胃的冰激凌。你决议在冰激凌勺里增添巧克力冰激凌。但由于冰激凌机的四个部件相互依赖,动了个中一个就会影响到其他部件,等维修师傅十分难题加好了新口胃的冰激凌,草莓糖漏斗却坏了,
由于伸缩性受到了限定,你决议搭建新的基础设施。你请求工场把本来冰激凌机的每一个部件自力成零丁的机械,变成一个冰激凌勺机,一个坚果粉碎机,两个漏斗机(一个能够流出巧克力,一个能够流出草莓糖)。而且你把维修师傅分红几组,每一组担任差别的机械。
这就是所谓的微效劳架构,大单体被拆分红多个自力的模块,每一个模块都是一个应用程序,担任处置惩罚差别的使命。

单体与微效劳

关于伸缩性,你大概已注重到了,在购置了最大型的冰激凌以后,你就没办法再扩展范围了。但有了零丁的部件机械(微效劳)以后,你能够购置更多的部件机械。
关于可维护性,为了给冰激凌机增添新口胃的冰激凌,却不警惕弄坏了草莓糖漏斗,由于一个大单体体系的差别部份通常是相互依赖的,修正某个部份会影响到其他部份。而在微效劳架构里,差别的机械由差别的团队担任,每一个团队管好本身担任的机械,避免了争执。这类自力的开发形式也加快了发版的速率,由于在一个大型构造里,团队内的沟通比团队间的沟通效力更高。
关于本钱,你大概会想,多买几台大冰激凌机不就能处置惩罚伸缩性问题吗?但也请试想一下,假如你只想增添冰激凌口胃并坚持其他部份稳定,你不能不为此购置整套机械。而在微效劳机构中,你能够只买冰激凌勺机。如许就勤俭了许多本钱,由于你能够依据每一个效劳的请求量来增添或许削减单个效劳的实例数目。
关于停当时候,大冰激凌机已把一切的部件都集成好了,只要把它放在准确的处所,并启动它就能够了。然则,自力的部件机械在运用前须要用传送带把它们衔接在一起。因而,微效劳须要更多的时候和专业知识才让它运转起来。
在测试和布置方面,大冰激凌机的测试和布置相对难题,由于一切的部件相互依赖,须要每一个部件都集成好了才测试和布置。但关于部件机械来讲,由于每种机械都是自力的,所以测试和布置也相对轻易。
以上就是本日的内容,你明白单体与微效劳是什么了吗?

浏览器中的 .Net Core —— Blazor WebAssembly 初体验

参与评论