BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jan Stenberg 关注 34 他的粉丝 ,译者 韩陆 关注 12 他的粉丝 发布于 2015年3月7日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

如今,传统构建系统的假定方式受到了挑战。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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT