写点什么

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

  • 2015-03-06
  • 本文字数:791 字

    阅读完需:约 3 分钟

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

2015-03-06 02:342610

评论

发布
暂无评论
发现更多内容

如何使用 CSS 提高页面性能?

CoderBin

CSS 面试 前端 优化 10月月更

架构实战训练营模块2-朋友圈复杂度分析

阿姆斯壮

#架构实战营 架构实战训练营9期

Smart Finance:熊市下,GameFi P2E热潮仍能得到延续

股市老人

「趣学前端」提到布局,我第一个会想到的是flex

叶一一

CSS 前端 10月月更

打造安全的Open RAN

俞凡

架构 安全 OpenRAN

PriorityQueue 源码解析(二)

知识浅谈

Priority Queue 10月月更

「CSS畅想」有一天,我遇到了一个奇特的路灯,眼里一下子有了光

叶一一

CSS JavaScript 前端 10月月更

致MonoCats社群的一封信:邀请您与我们在以太坊开启新篇章

股市老人

新书上市|豆瓣8.6,首部全面披露中国游戏发展史的奇书!

图灵社区

【LeetCode】用栈操作构建数组Java题解

Albert

算法 LeetCode 10月月更

新书上市|豆瓣8.6,首部全面披露中国游戏发展史的奇书!

图灵教育

游戏

「趣学前端」开耍CSS的3D转换,不会玩滑板但能画滑板

叶一一

CSS 前端 10月月更

架构师的十八般武艺:架构治理

agnostic

架构治理

架构师的十八般武艺:后记

agnostic

架构师

TSDB在高速公路大数据平台的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Spring Boot「07」Loading initial data 02

Samson

Java spring Spring Boot 学习笔记 10月月更

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库

汪子熙

云原生 Cloud SAP 10月月更 btp

python程序能打包吗?看这篇就知道了

芥末拌个饭吧

python 3.5+ pyinstaller 10月月更

「CSS畅想」当我拥有了一个小夜灯,我的CSS副属性被激活了

叶一一

CSS JavaScript 前端 10月月更

「趣学前端」玩转CSS的2D转换,也许能有个代码纸片人

叶一一

CSS 前端 10月月更

Go RPC入门指南:RPC的使用边界在哪里?如何实现跨语言调用?

王中阳Go

php Go RPC RPC框架 10月月更

Java基础(七)| 类、对象、封装和构造详解

timerring

Java 对象 封装 构造 10月月更

元宇宙早已注定毁灭?《雪崩》中预言的末日病毒

脑极体

雪崩

可能的二分法

掘金安东尼

算法 10月月更

【ArchSummit】通过ArchSummit 全球架构师峰会对企业数字化转型的思考

小明Java问道之路

云原生 企业数字化转型 全球架构师峰会 ArchSummit 10月月更

什么时候用Goroutine?什么时候用Channel?

王中阳Go

Go 并发 channel goroutine 10月月更

大数据ELK(二十七):数据可视化(Visualize)

Lansonli

10月月更 Visualize

【愚公系列】2022年10月 Go教学课程 030-结构体继承

愚公搬代码

10月月更

微信朋友圈高性能复杂度分析

兜里贼缺钱

Goroutine是什么?进程、线程、协程又是什么?有什么区别和联系?

王中阳Go

Go 线程 进程 协程 10月月更

微服务、应用和系统的特征_SOA_Jan Stenberg_InfoQ精选文章