微服务架构综述——微服务架构的特性

       前面说了单块架构的不足,那么微服务又是何方神圣?具有什么样的特性?以下是摘自马丁.福勒先生博客中的描述:

       微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

       用不同的语言、技术和工具来实现不同的服务;各个服务自成一派,但服务之间又互相配合,最终形成一个有机整体为客户提供价值;这种体验想想就让人流口水!

       那么问题又来了,既然要把系统功能拆分为一个个的“微服务”,那么这个“微”的标准又是怎样的呢?

       虽说代码量或重写时间可以在一定程度上界定“微的程度”,但个人还是认同以“业务独立性”和“团队自主性”来作为微服务的划分标准。毕竟作为一个服务提供者,如果甚至都不具备业务独立性,那不论是从业务逻辑的清晰程度还是从业务执行效率来看都会大打折扣的。“团队自主性”原则建议团队人数不超过10人,否则沟通和协作上耗费的成本会显著增加。而且,团队应该由不同技能、不同角色的成员组成,是一个全功能的团队。

       对于“全功能团队”的建设个人观点还是很有必要的。就现在而言,多数企业应该还是以技能来划分团队,将一群技术栈类似的人分到同一个团队,然后一个业务需求过来需要从各个不同的团队中调取相应的“技术池资源”来配合完成。像这种人员组织的方式,常常会导致沟通成本较大,协调效率较低的情况,而且最重要的还是各个开发人员对于本次业务仅仅是当成一次“任务”而已,没有更进一步将它当成自己的“作品”。开发人员对于自己所写的代码缺乏“主人翁精神”,团队成员对产品也缺乏成就感。

微服务架构的主要特性有以下几点:

1. 单一职责:对于每个服务而言,在服务架构层面遵循单一职责原则。符合高内聚、低耦合,不同的服务通过“管道”的方式灵活组合,从而构建出庞大的系统。

2. 轻量级通信:服务之间应通过轻量级的通信机制,实现彼此间的互通互联,相互协作。所谓轻量级通信机制,通常指语言无关、平台无关的交互方式。对于微服务而言,通过使用轻量级通信机制,使服务与服务之间的协作变得更加标准化,也就意味着在保持服务外部通信机制轻量级的情况下,团队可以选择更适合的语言、工具或者平台来开发服务本身。

3. 独立性:在单块架构中,功能的开发、测试、构建以及部署耦合度较高,相互影响。而在微服务架构中,每个服务都是一个独立的业务单元,当对某个服务进行改变时,对其它服务不会产生影响。无论是从开发、测试还是部署这些阶段来看,服务与服务之间都是高度解耦的。

4. 进程隔离:所有的功能都运行在同一个进程中,就意味着,当对应用进行部署时,必须停掉当前正在运行的应用,部署完成后,再重新启动进程,无法做到独立部署。但在微服务架构中,应用程序由多个服务组成,每个服务都是一个具有高度自治的独立业务实体。通常情况下,每个服务都能运行在一个独立的操作系统进程中,这就意味着,不同的服务能非常容易地被部署到不同的主机上。

       由上述特性可知,微服务架构其实是将单一的应用程序划分成一组小的服务,每个服务都是具有业务属性的独立单元,同时能够被独立开发、独立运行、独立测试和部署。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,264评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,549评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,389评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,616评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,461评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,351评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,776评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,414评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,722评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,760评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,537评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,381评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,787评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,030评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,304评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,734评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,943评论 2 336

推荐阅读更多精彩内容