关于后端:微服务技术另一个可能更合适的名字

42次阅读

共计 2075 个字符,预计需要花费 6 分钟才能阅读完成。

引言

这两天 夜观天象 筹备分享,从新对服务化、微服务等技术的前因后果做了一些思考和总结,当然网上早有一百篇或者一万篇不同的文章来解释和形容服务化是什么微服务是什么,微服务和服务化的区别是什么,我也看过其中一二。我从来不打算说反复的货色,说的也没有巨匠好。但微服务这个货色既不像【我不想提及的网络热词】技术那样基本上啥都不是就是骗骗在行,又不像【另一个热点技术词汇】那样“大家都了解对于那个货色大家的了解不统一”,冷静下来思考,一种可能性就是这个名字起的不好没有直击实质,导致一些误会,这两天忽然想通一些货色,这里和各位探讨一下。

服务和微

首先咱们来扣一下字眼,服务 (service) 是什么?搜中文大略是这的【履行职务,为别人做事,并使别人从中受害的流动】,英文的含意 1 大略是【the action of helping or doing work for someone.】,意思其实是一样的,serve 的名词,从技术角度看有点似是而非。英文含意 2 比拟贴近咱们技术角度说的服务【a system supplying a public need such as transport, communications, or utilities such as electricity and water.】尽管对应中文比拟显著是”公共事业“,但还是根本命中”服务化“这件事件的外围点:1、独立零碎;2、公共需要。

而后看一下“微”(micro-),这个词字面意思没有什么误会,但放到微服务里要解读它就有点艰难了,不如说有很多正确答案,可能有:

  • 繁多职责(指摘小,内聚)
  • 单过程,容器化等(体量轻)

等等,问题在于,这些个性、方向、领导准则,其实和巨石架构到服务化的方向是截然不同的。一个货色如果只是比原来的一个货色水平更甚,只是质变,那它是没有资格被独自探讨的:高铁也是铁路,高铁再快,就算是比飞机还快的磁浮,也还是铁路,也还是火车站,也还是轨道交通零碎。飞机,就算是原始飞机飞得再慢,问题再多,和火车也是不一样的货色,因为那是量变。

我不太批准微服务只是原来服务化方向上的质变,所以不太认可微服务这个名字,就如同把飞机叫超快火车那样,快是飞机比火车的长处,但飞机的实质是飞,不是快。

微服务的实质

咱们来回忆一下谈到“微服务”的时候咱们个别议论什么?服务治理、服务网格(service mesh)、容器编排等等,这些货色其实并不和“微”间接相干,但微服务这个名字却始终被大家用下来,我也并没有发现有人对这个名字有不满(肯定有,可是我不晓得),可能是因为这些技术解决的是服务化落地当前,单个服务进一步肿胀,试图进一步拆分(微)的时候,遇到的实际困难。

解决火车提速的实际困难有两条路:创造更快的火车或者创造飞机,那么是什么货色让咱们认为“微服务”这个货色并不是高铁,而是飞机,比照服务化火车是具备革命性的变动的呢?这个问题的答案 (能飞) 最终可能成为微服务技术的更好的名字(飞机)。

微服务技术的掌上明珠 Istio 始终在迅猛发展,最近的一条音讯是 Istio 重构了它的管制立体,将本来管制立体外部的“微服务”架构重构为单体架构,本来 control plane 的多个组件 Pilot, Galley, Citadel 等被合并为一个 istiod 程序。这条音讯引起了一些对于微服务 vs 巨石的探讨,但无论如何,不会有人认为 istio 成为一个单体服务后,istio 架构就不是一个微服务架构了,这也应证了我的思考,微服务的实质不是微。那么让 istio 得以出现它微服务实质的特点是什么?

元服务 meta-service

Istio 自身本来是微服务,即便它变成了巨石架构,它依然是一个服务,这个服务和非微服务架构里的各种服务还是有本质区别:它服务的“公共需要”,既不是业务需要(业务服务),也不是技术实现的需要(根底服务如 DB、队列),而是“服务化”自身,istio 是为服务化服务的服务。写服务解决服务化过程中遇到的瓶颈和挑战,这才是”微服务架构“区别于服务化架构的实质,这并不因 istio 外部组件交融成巨石架构而波动,这才是”微服务“技术的实质,所以它的名字该当是元服务。(这里开始我把微服务对立叫元服务)

元 (meta-) 这个前缀的含意是自援用、对于 X 的 X:对于数据的数据叫元数据,写程序操作程序叫元编程,那么,解决服务化问题的服务,天然该当被称为元服务,咱们探讨元服务时,简直不探讨某个业务服务是否 micro 或者如何把它做 micro,而是探讨为了把服务拆分好,须要实现某某个性,因而引进或者研发某某服务解决这个问题。

服务化架构为什么遇到窘境?因为服务化架构在解决本身问题的时候,并没有用到服务化的思维。元服务更全面地利用了服务化思维,从而使得它和服务化架构有了实质的区别,插上翅膀成为飞机,从而被大家探讨、实际和学习。

后记

有了这个思考当前,我第一工夫搜寻了 meta-service,并没有找到相似的文章,和技术相干的 meta-service 个别是 metadata-service,也就是元数据服务,中文的元服务更没有什么货色,于是有了这篇文章。


转自自己博客

正文完
 0