作家
登录

实施微服务架构的关键技术

作者: 来源: 2017-07-12 15:37:46 阅读 我要评论

大年夜家都在提微办事架构,微办事架构到底是什么?它有哪些特点和设计模式?我们在打造微办事架构过程中,这些设计模式在拭魅战傍边若何应用?数据的一致性应当若何包管?今天我将针对上述疑问分享一下我的思虑。

微办事架构特点

什么是微办事架构?看下图的┞封段英文,这是Martin Fowler 在2014年提出来的,微办事架构是一种架构模式,既然是架构模式,那么,它就必定须要知足一些特点。他提到,微办事架构是一系列小的微办事构成的组合,那么,什么是“小的微办事”?可能每小我的懂得都不一样,大年夜家都应当都知道SOA架构,SOA架构的粒度是比较粗的,到底我们应当以什么样的粒度拆分微办事?我认为,微办事架构本质上一个营业架构,那么对营业懂得的越深刻,你的微办事拆分就越合理。

图1

比如我们做二手交易平台(转转),该平台包含用户体系、商品体系、交易体系以及搜刮推荐体系。因为各个别系比较自力,那么我们就可以按照各个营业模块来拆分微办事。当然,如许做还不敷,因为你的商品琅绫擎还有很多功能,然则大年夜的思路是按照具体商品内部的逻辑来进一步拆分。

第二,环绕具体营业建模。一切离开营业场景谈微办事架构都是耍地痞。

第三,全部微办事都可以自力地安排,因为每一个维办事Process都是自力的,所以按照每个模块进行自力的安排也是很轻易懂得的。

第四,去中间化治理。打造去中间化治理意思就是微办事的每个模块和开辟说话、运行平台没有关系,开辟说话可所以C++,可所以go,也可所以世界上最好的说话,运行的平台是Linux,Unix、Windows等都可以。

讲完这些特点,我们可以看一看一个标准DEMO级的微办事架构到底是由哪些元素构成的?如下图,重要 包含网关、微办事、数据存储、注册中间、设备中间。

元素构成

既然是DEMO级的,和实际情况下比拟肯定有所差别。那么,实际案例中,我们到底应当若何做这件工作?这个例子也是比来我在做的二手交易平台——转转。这里和DEMO有些不一样的处所。前面的第一层照样网关,下面有微办事的聚合层,感化是做各类营业逻辑的处理;聚合层下面是我们的数据原子层,重要做数据拜访代劳,只不过根据营业的不合垂直分开了。可以看到,网关、数据层,注册中间、设备中间都有,只不过安营业处理部分分成两层:一层是原子层,也就是全部数据拜访的代劳层,供给了用户的接口;别的一层就是上层的营业聚合层。

总体架构设计

架构设计模式及实践案例

膳绫擎我大年夜概讲了下微办事的一些特点以及DEMO级的微办事包含哪些部分以及实际案例中我们的设架构设计模式。那么,我们为什么要采取这种模式去做?除了这种架构模式之外还有哪些其它的架构模式?这里,模式照样异常多的,我会重点讲这几点:链式设计模式、聚合器设计模式和异步共享模式。

起首我们来说下链式设计模式,在这种模式下,APP前端请求起重要经由网关层,接下来持续调用两个微办事,调了微办事1之后还要调微办事2。为什么叫做链示湄?因为在调用过来今后先到微办事1,然后再同步地调用微办事2,微办事2会做一些处理,处理今后微办事2才会反馈给微办事1,微办事1再反馈给Gateway,最后反馈到APP。在实际营业场景中,涉及到交易和订单的营业场景都邑用到这种模式。

链式设计模式

接下来是聚合器设计模式,APP前端一个调用请求经由Gateway,达到聚合层,须要调用三个微办事,聚合层将三个微办事的返回结不雅做一些聚合处理,比如可以进行一些排序或者去重,聚合之后再反馈到Gateway和APP前端,这是一个典范的聚合器设计模式。

第三种模式是数据共享模式,这种模式比拟较较简单,比如APP经由微办事网关,接下来调用微办事1和微办事2,幻想情况下微办事1和微办事2都有本身自力的DB,然则有些情况下因为微办事1和微办事2的请求量和存储量较小,大年夜资本应用率的角度来讲,这两个微办事的DB是共享的,是以这种就是数据的共享模式。

最后一种是异步消息设计模式,不管是链式设计、聚合器模式照样共享数据模式,架构模式都是同步模式。也就是说我的一个请求发出去必须比及每个环节都处理完才会给客户端。如不雅请求不须要存眷处理结不雅,这时刻可以异步来实施。APP更新请求经由微办事网关,持久化到MQ,写入MQ成功后立时Response给APP客户端,之后微办事根据须要大年夜MQ琅绫擎订阅更新消息进行异步处理,我们为了进步吞吐量也会采取这种模式。

我大年夜百度到转转这几年经历了很多营业场景,应用的无非就是聚合器、异步和数据共享的数据模式,特别是前面两个用得特别多,下面我们来看一些例子。

接下来我们看个例子,这是我们在2015年做的一个二手交易平台(转转),这个二手交易平台包含商品、分类搜刮、关键词搜刮、商品推荐等功能。一个用户请求过来,先经由网关,网关下面就是我们的聚合层,聚合层再去调用商品、交易、推荐以及搜刮相干的,最终在聚合层把各个微办事原子层的结不雅汇总起来Response给到客户端。具体如下图所示:


  推荐阅读

  医疗大数据让你的健康档案“随用随取”

在江苏张家港,有103万人能在手机上看到本身过往的医疗检测申报。“和大年夜病院里打印的一样,”张家港市卫计委副主任黄卫星说,“我们82%的居平易近有本身的电子健康档案>>>详细阅读


本文标题:实施微服务架构的关键技术

地址:http://www.17bianji.com/lsqh/36173.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)