QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 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:342823

评论

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

客户案例|宜泊科技怎样实现智慧停车可观测

观测云

降本:云原生可观测性新定义

观测云

月满中秋夜|中秋和 Jina AI 一起过

Jina AI

开源 人工智能’ 神经搜索

javaweb-JSP

喜羊羊

9月月更

云数据库技术|“重磅升级”后再测TDSQL-C

数据库 polarDB 玖章算术 TDSQL-C

调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去

汪子熙

JavaScript SAP SAP UI5 ui5 9月月更

4天带你上手HarmonyOS ArkUI开发

HarmonyOS开发者

HarmonyOS

Java 多线程:基础

Java快了!

java;

为什么越来越多博士逃离科研?

博文视点Broadview

这份数据安全自查checklist请拿好,帮你补齐安全短板的妙招全在里面!

京东科技开发者

数据库 安全 数据安全 云安全 京东云

Hi3861 通过UART串口协议与其它开发板进行通信

OpenHarmony开发者

OpenHarmony

构建运维监控体系设计思路概述

穿过生命散发芬芳

监控体系 9月月更

【活动预告】数据集成海外专场Meetup:走进Shopee,聊透SeaTunnel优化实践

Apache SeaTunnel

技术分享 数据同步 数据集成 社区活动

中秋节,华为云AI送上超级大月亮制作教程,体验赢开发者键鼠套装

华为云开发者联盟

人工智能 华为云 中秋节 企业号九月金秋榜

关于 eBPF 安全可观测性,你需要知道的那些事儿

OpenAnolis小助手

Linux 开源 内核 ebpf 龙蜥技术

Authing 郑凌:我眼中的 Authing

Authing

JavaScript 基础知识

喜羊羊

9月月更

Python图像处理丨基于K-Means聚类的图像区域分割

华为云开发者联盟

Python 人工智能 图像处理 企业号九月金秋榜

面试突击:什么是跨域问题?如何解决?

Java快了!

java;

下一代 SCA:流水线成分分析

SEAL安全

DevSecOps SCA 软件成分分析 软件组成分析 软件供应链安全

需求变更,敏捷项目应如何做?

敏捷开发

Scrum 敏捷 需求管理 需求 Scrum团队

阿里开源的升级思考:开源委员会的三个关键行动点

阿里技术

开源

数据科学家、数据工程师和数据分析师三个角色的区别是什么

雨果

数据分析师 数据科学 数据工程师

Sprint Review能不能做成Demo演示?

LigaAI

Scrum 敏捷开发 迭代增量开发 高效办公 企业号九月金秋榜

如何让开发者直接在应用后台控制用户的运动状态?

HarmonyOS SDK

TDengine支持多种写入协议,四种写入方式提效大全

TDengine

tdengine 开源 时序数据库 企业号九月金秋榜

Qt|自定义Widget实现互斥效果问题

中国好公民st

qt QWidget 9月月更

ChaosBlade Java 场景性能优化,那些你不知道的事

Java快了!

java;

JavaWeb -JavaBean MVC Filter 监听器 过滤器

喜羊羊

9月月更

库调多了,都忘了最基础的概念 <锁与线程篇1>

知识浅谈

线程 9月月更

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