微服务、应用和系统的特征

来源:InfoQ 作者:韩陆
  

如今,传统构建系统的假定方式受到了挑战。Stefan Tilkov在调研微服务、应用和系统的特征的介绍中解释,假定之一是大系统必须拥有独立的环境,通常构建系统与项目域一一对应,结果是1 项目 = 1 系统。

面对将大系统拆分成小一些的应用的思潮泛起,innoQ的联合创始人和首席顾问Tilkov认为其中最关键的原因是隔离。当在一个大系统的不同部分之间引入边界的概念时,各个部分之间的耦合和通信的独立变得困难。他观察到的另一个优点是特定部分的独立扩展能力,这将依赖于该部分自身的负载,是否扩展可以由该部分边界内的团队自己做决定。

Tilkov比较了构建由多个小部分组成的逻辑系统的3种风格:

  • 微服务很小,每个服务运行在自己的进程中,使用轻量级的通信机制,围绕业务功能来构建。
  • 应用稍大些但依然保持小巧、分离、可运行的进程,使用无共享模式以便与微服务共享更多的特征。
  • 自包含系统(SCS)的名字是Tilkov和他的同事提出的,以区别于一般意义的系统,用来命名于更具体的规则集合。自包含系统由一个团队拥有,是一个明显稍大的自主web应用,包括数据和逻辑,使用非同步的远程调用,有可能提供服务的API。

Tilkov比较了3种风格的一些功能和特征,他强调对哪种风格是对的没有倾向性,而是想体现其广度和可用选项。

  SCS 应用 微服务
规模(千行代码) 1-50 0.5 - 10 0.1 - ?
有状态 自包含的 额外的 自包含的
逻辑系统 5 - 25 >50 >100
单元之间的通信 否、(如果可能) ?
用户界面 包含 包含 额外(?)
用户界面集成 是 (web-based) ? ?

Tilkov最关注的参数是构建一个逻辑系统的组成部分的数量,因为这是对一个大系统第一级分解的指示。自包含系统是他提倡的,虽然小的服务很简单,但是多个这样的服务合在一起就会在其他层中产生更高的复杂度。但是他强调他不想试图推销一种特定的模式,而是在不同的层面突出这个话题。

查看英文原文:Characteristics of Microservices, Applications and Systems

转自 http://www.infoq.com/cn/news/2015/03/characteristics-microservices-ap?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global


时间:2015-03-06 21:14 来源:InfoQ 作者:韩陆 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量