写点什么

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

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

评论

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

区块链架构下 智慧城市发展加速

CECBC

kubeadm工作原理-kubeadm init原理分析-kubeadm join原理分析

良凯尔

容器 云原生 kubeadm #Kubernetes# Kubernetes 集群

Facebook 开源 Golang 实体框架 Ent 现已支持 TiDB

Geek_2d6073

360大数据技术专家 程建云:IoTDB在360的落地实践 | Apache IoTDB Talk

Apache IoTDB

时序数据库 IoTDB Apache IoTDB

Paxos vs. Raft:我们对共识算法达成共识了吗?

多颗糖

分布式系统 raft PAXOS

[Day3]-[快慢指针]解决链表问题

方勇(gopher)

LeetCode 数据结构与算法

云时代,租电脑还是初创型企业最好的选择吗?

阿里云弹性计算

远程办公 无影云电脑 初创型企业

墨天轮访谈 | 华为云温云博:从客户视角出发,GaussDB(for Redis)究竟“香”在哪里?

墨天轮

数据库 redis 华为云 国产数据库 键值数据库

明天直播:如何测试硬件设备与龙蜥操作系统的兼容性?

OpenAnolis小助手

硬件 直播 开源社区 sig 兼容性

加密货币监控和区块链分析如何帮助避免加密货币欺诈?

CECBC

黑匣子为什么难成为“云匣子”?

脑极体

URL的四种形式对比说明

源字节1号

前端开发 后端开发 网站开发

异构注册中心机制在中国工商银行的探索实践

SOFAStack

GitHub 开源 分布式架构 注册中心 工商银行

OceanBase 开源负责人纪君祥聊 社区版 2022 Roadmap

OceanBase 数据库

oceanbase OceanBase 开源

前端食堂技术周刊第 30 期:Vercel 支持零配置部署使用 pnpm 项目、React 新文档更新、Angular Roadmap、Remix Stacks

童欧巴

JavaScript 编程 前端 周刊 资讯

基于微信小程序的实验室预约小程序平台详细设计

CC同学

Flutter 路由及路由拦截跳转404

岛上码农

flutter ios Android开发 移动端 3月月更

JS Array数组几个循环实用方法总结

MegaQi

JavaScrip 测试发开 web前端开发

高层次人才一站式服务平台系统开发

a13823115807

《LeetCode 刷题报告》题解内容Ⅱ

謓泽

3月月更

“中本聪岛”加密乌托邦

CECBC

区块链等技术助力北京海关监管

CECBC

服务器防渗透--信息收集

喀拉峻

网络安全

小程序电商业务微服务拆分及微服务基础设施选型

Geek_36cc7c

从二十年开源经历出发,70 后大龄程序员谈成长、困境与突围

TDengine

数据库 tdengine 开源

深入浅出 Java FileChannel 的堆外内存使用

Apache IoTDB

一文带你了解 Python 中的生成器

踏雪痕

Python 生成器 3月程序媛福利 3月月更

week4作业

Asha

如何快速实现持续交付

阿里云云效

云计算 阿里云 软件开发 CI/CD 持续交付

VuePress 博客搭建系列 33 篇正式完结!

冴羽

JavaScript Vue 前端 vuepress 博客搭建

数字医疗时代的数据安全如何保障?

CECBC

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