IT思考01 | 微服务架构模式的价值观

背景知识

微服务软件框架

微服务(Microservice)这个概念是2012年出现的,然后2014年开始受到各方的关注,而2015年开始成为了热门。

在国内,也是从2015年开始,各大互联网公司开始涉足微服务软件框架,比如阿里巴巴开始使用Spring Cloud,并在Spring Cloud的基础上,衍生并开源出一套全新的微服务框架 - Spring Cloud Alibaba。同时阿里巴巴还开源了一套Dubbo框架。还有腾讯的TARS、百度的 bRpc。

我也是在2015年开始接触并实践了谷歌的gRPC、Facebook的Thrift。

微服务架构模式

企业应用架构模式从最初的单体架构,后来发展为SOA(面向服务)架构模式,再后来从SOA架构模式进化出当下最盛行的Microservices(微服务)架构模式。

企业应用架构模式变迁

本文要说的是微服务架构模式,不是微服务软件架构。主要是关注一下微服务架构模式所倡导的一些核心价值观。希望从事软件架构设计的朋友,可以从这些价值观里面,学习到这种模式的思想和理念。从而可以从各种微服务软件架构里面走出来,不在纠结于用哪种架构体系,用哪个工具链。

从事这么多年互联网的软件行业,我们一直是在跟随着大师们的思想在前进,比如曾经风靡一时的面向对象(COM、DCOM、CORBA)、23种设计模式、UML(统一建模语音)、SOA(面向服务)、Xp、Scrum、微服务、Devops、IaaS、Paas、Saas、Faas等等。但是我们一直被陷入在各种开发环境、开发语言,各种开源的框架系统之中,反而忽略了大师们的思想。

曾经我问过一个做了两年Coding的同事:什么是类?什么是对象?
他竟然不能回答。( 难怪他的代码总是质量很差 :) )
不深入的理解类和对象,如何可以定义出一个优雅的类,如何可以管理好一个对象实体的生命周期呢?更别说业务的扩展性了。

要想理解大师们的思想,最核心的就是要理解大师们所要表达的价值观。我罗列了一下微服务架构模式的核心价值观。如下图:


书蛙老牛

我主要从两个维度罗列的,一个是:

组织架构

Martin Fowler大神

Martin Fowler,1963年出生在英格兰的沃尔索耳,在1994年,移居到了美国。
他是国际著名的OO专家,也是敏捷开发方法的创始人之一。

微服务架构模式,是Martin Fowler首次在一篇文章里面提出的,他提出这个模式和他的敏捷开发思想也是相通的。因为在组织架构上,这两种思想的核心价值观基本上是一样的,具体如下:

  • 服务意识
    根据微服务来划分团队,可以增强团队的服务意识,因为这个服务明确分配给你们,你们就需要提供好这个服务。
  • 产品思维
    每个微服务都是根据领域来划分的,负责独立的一部分产品业务,每个微服务也可以理解成一个子产品。
  • 权利分散
    因为从产品业务层就开始考虑划分微服务,然后分配资源,因为权利来源于资源,所以相当于把权利分散到了各个微服务。
  • 小团队
    团队多小合适,有一个“两个披萨原则“,意思是不能多于够吃两个披萨的人数。小团结易沟通协调,效率更高。
  • 独立自主
    因为资源权利下放到微服务团队里面,团队就有一定的自主权,这样更可以发挥团队的积极主动性。
  • 责任明确
    权利和责任是成对出现的,有权利就意味着要有责任,这个是非常明确的。
  • 全栈式
    由于微服务是包含整个业务的,所以可能会应用到各种技术,需要团队成员会多种技能。
  • 自由
    自由和独立自主是对应的。
  • 共享
    这个有两个层面,一个是需要对外共享这个微服务;另一个是团队内部的共享。
  • 协作
    小团队,更注重协作。

还有一部分价值观,属于微服务本身的,如下:

微服务

  • 规范
    由于一个大应用划分成很多微服务,这就需要有一套规范,来共同约定。
  • 文档化
    微服务的目标就是被调用的,首先微服务的使用文档是必备的。
  • 可用性
    微服务功能职责单一,具有更高的可用性。
  • 开放协议
    微服务可以被任何应用来使用,因为微服务具有开放的协议,只要按照协议来调用就可以了。
  • 扩展性
  • 安全性
    微服务是独立部署、独立运行的,也具有独立的安全认证机制。
  • 粒度小,松耦合
    微服务专注于应用解耦。
  • 移植性
    微服务是独立部署的,具有可移植性。
  • 隔离性
    隔离性也是来自于独立部署,独立运行。
  • 自动化
    微服务架构模式提倡自动化测试、自动化部署、自动监控。

批判性思考

微服务这个思想从2012年正式提出到现在已经8年的时间了,这期间被广泛的传播,相应的软件架构和技术也得到了广泛的应用。这里提出几个需要思考的问题,通过这几个问题,我们反思一下我们曾经应用过这种架构模式的产品,然后反思一下这个模式现在是不是还适应互联网软件行业的发展,以后会不会出现更出色的思想框架来替代它。问题如下:

  • 你和你的同事们,都认同这些价值观吗?还是只认同其中的一部分?为什么不认同?
  • 我知道很多应用案例,都是应用了开源的软件框架来实现后台功能的解耦,前端业务和组织结构层面上并没有采用,你知道是为什么吗?
  • 你知道都有哪些微服务架构吗?你知道它们分别适合哪种应用吗?
  • 针对你使用过的应用,你认为采用这种模式是最好的吗?还有没有更好的替代方案呢?
  • 你知道”函数式“架构模式吗?,你认为这种模式怎么样?和微服务架构模式比较呢?

函数式架构模式脑洞

1、把所有的业务功能拆分成一个一个函数,每个函数定义好输入和输出。每个函数都是完全独立的。
2、然后根据这些函数划分团队,或者不要团队,直接分配给每个人,然后这个函数独立部署、独立运行。
3、针对每个业务功能,会有一个函数的调用序列
4、请继续。。。。。。

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

推荐阅读更多精彩内容