我来告诉你什么是微服务架构

首先,这篇文章我会用自己的话来给你讲微服务之道,避免一些很专业的名词,纯粹个人理解

要了解微服务,就要了解微服务的前世今生

讲个故事吧,在混沌初开的时候,天上有100个众神,每个神都有民众向他们请求,他们来满足民众的需求,然而有一天有个神因为太优秀而忙碌病倒了,导致民众向他的请求无效了,而别的神只能看着,都有各自的任务,却帮不了他.

这个神已经深深感觉到了,民众的请求才是最重要的,但是不能因为自己病倒了,就帮助不了民众的基本需求,于是他召开紧急会议,来来来,我们100个人在健康的情况下确实可以满足民众需求,但是呢非常时期不行,那怎么办呢,简单,加神不就行了,于是神创造了神,又加了200个神进来,这样三个神负责同一个任务,还成立任务网管机制(反向代理),根据规则把任务发给3个神中的一个,这样大家又开始忙碌起来了,也没出什么叉子,但是有一天民间人口暴增,需求五花八门,众神的业务已经不能满足民众了(应用颗粒度大),这时候需求每个神把自己负责的模块拆解,比如按照民众需求拆解,这个神以前负责中国的,任务太大了,这时候只让他负责华东,或者山东,或者山东下面的威海.....等等,根据神的数量以及能力进行拆解(多微合适).

于是神又召开会议,改改改,改成什么样子呢,分家,按照任务细粒度分家,三个神一组,有独立的任务代理,有独立的任务记录,形成了每个组都是独立的服务组,如果山东的民众突然需求变了,不会影响到江西的神的业务,于是微服务诞生了.

相比较以前,微服务解决了众多问题,比如单点故障,以及冗余耦合等,那微服务也有问题,凡事都有问题吗,谁能完美无缺呢,微服务第一就是耗钱,这个也是缺点哦,对于初创公司钱就是命脉,所以要不要微服务,多微合适,都是要具体考量的,另外一个缺点就是,应用多了后,每个独立的子系统交互方式也就变了,分布式一致性问题就出来了.

突然有一天,江西的民众山东的民众,上海的民众开会碰头了,一问感觉对方的任务很适合自己,民众任务合体,这是单祖神的业务已经满足不了民众的需求,怎么办,再改,改的方式还有很多:

第一,又加了一组神,分别请求三组神,然后按照三组神返回的任务结果,自己拼拼凑凑,组合新的任务结果,然后给民众

第二.如果按照上面的方式做了,然后还把拼凑的结果给记录到本地了,这就换了一个模式,而且很常用.

第三:民众发来请求,一组神请求二组神,二组神,请求三组神,三组神请求四组神,返回结果,就就是羊肉串一样,一个调用一个

所以哪一种方式都可以实现民众的需求,但是有最好的选择,也有最坏的选择,要分场景,要分时间

然后还有一天,山东的民众做起买卖了,要给山西的人转钱.

这时候众神开始炸锅了,难受.怎么保证山东人的钱要么成功转到山西人的口袋里,要么都失败呢(分布式事务一致性CAP),因为应用是独立的,这时候有个聪明的神,提出了两阶段提交,就是我们加个协调的神,协调的神开始问一组神,准备好了没,一组神评估自己的状态,嗯准备好了,然后协调神问二组神准备好了没?二组神看看自己的状态,还没?OK,不提交操作,回滚,保证事务一致性,假如二组神说OK了,那么协调神通知一组神,说二组准备好了,你提交吧,然后一组调教成功,这时候协调神去跟二组说,一组提交成功了,你也提交吧,然后二组说我提交成功了,OK完成任务,下班休息.

这样好,保证事务一致,但是太重了,而且一旦协调者玩游戏去了,不管协调了(宕机),那就出现阻塞了,难受

这时候神又召开会议,我们能不能再准备阶段前加个询问,可以啊,协调者先问问一组好了没,一组嗝屁了,没回答,OK,结束.增加了询问阶段有什么好处呢,可以提前校验和查找超时的应用,更容易保重一致性,而且不会一直锁定资源,那么重,这个叫做三阶段提交协议.

总之分布式微服务是个好东西,用好了叫做好东西,用坏了,我们习惯把它叫做坑

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

推荐阅读更多精彩内容

  • 概念:微服务就是一些可独立运行、可协同工作的小的服务。微服务是现在特别流行的服务,微服务的字面意思是大家都很好理解...
    程序员技术圈阅读 3,340评论 2 47
  • 北京新学道金泉书院 五年级尚喻班 张馨元 时间像小溪流一样, 从不停息地流淌。 我不知道, 她来自何方? 但我知道...
    尚礼二班创作文集阅读 185评论 0 3
  • Node 文章索引 原 Blog 地址 https://github.com/shipitjs/shipit h...
    lanvige阅读 436评论 0 1
  • 是母亲的电视节目救了我。只是碰巧,一晚闲来无事,便想找母亲聊聊,然而无论我如何骚扰,她就是不带我理我的。...
    吟风赏月阅读 1,560评论 0 2
  • 主持人窦文涛请教作家马博庸,如何才能让自己脑洞大开,马回答:需要不断训练。他说他闲着无事时,不是毫无目的地...
    趣儿爷阅读 325评论 2 2