速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

评论

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

京东技术中台的Flutter实践之路,android界面开发经典书籍

android 程序员 移动开发

今日头条APK瘦身之路(1),android设计模式

android 程序员 移动开发

为了弄懂Flutter的状态管理,-我用10种方法改造了counter-app

android 程序员 移动开发

为什么高级Android程序员永远不必担心自己的技术过时?

android 程序员 移动开发

什么?这个天天使用的API竟然被废弃了?,android组件化和模块化区别

android 程序员 移动开发

今日头条APK瘦身之路,kotlin教程pdf下载

android 程序员 移动开发

天猫Java研发岗面经(技术三面):基础+算法+MySQL+Redis+秒杀架构

Java 编程 程序员 架构

二本渣渣6年开发面试字节跳动Android研发岗,被怼的有点惨---

android 程序员 移动开发

事件分发三连问:事件是如何从屏幕点击最终到达-Activity-的?CANCEL-事件什么时候会触发

android 程序员 移动开发

今日头条 Android '秒' 级编译速度优化,我的腾讯安卓面试经历分享

android 程序员 移动开发

Vue进阶(幺陆贰):vue render函数介绍

No Silver Bullet

Vue 11月日更

五年开发经验杭州竟找不到工作:Android开发真等于废人?

android 程序员 移动开发

人手必备的Jetpack操作手册来了!针对性解决Jetpack组件问题(1)

android 程序员 移动开发

为了KPI,对APK进行极限优化!,大厂Android研发岗面试复盘

android 程序员 移动开发

互联网如今趋势,30岁的程序员如何应对?,PDF超过6000页,

android 程序员 移动开发

互联网BAT大厂(百度、美团等,作为Android开发程序员

android 程序员 移动开发

五分钟搞定正则表达式,如果没搞定,再加两分钟,flutter小程序实现

android 程序员 移动开发

人都傻了!看完这份字节跳动师兄给我的程序员面试笔记,只能说一句牛啊

android 程序员 移动开发

纯干货分享 | 研发效能提升——敏捷需求篇

云智慧AIOps社区

开源 开发者 敏捷开发 研发效能 提升效率

为什么-Android-要采用-Binder-作为-IPC-机制?,android输入法开发源码

android 程序员 移动开发

为什么有些大公司的技术,实在是弱爆了?,flutter教程dart

android 程序员 移动开发

二本渣渣6年开发面试字节跳动Android研发岗,被怼的有点惨---(1)

android 程序员 移动开发

五分钟搞定正则表达式,如果没搞定,再加两分钟(1),2021Android面试笔试总结

android 程序员 移动开发

五年Android 开发大厂面经总结,详解系列文章

android 程序员 移动开发

为了弄懂Flutter的状态管理,-我用10种方法改造了counter-app(1)

android 程序员 移动开发

为什么Flutter是跨平台开发的终极之选,安卓framework开发

android 程序员 移动开发

互联网寒冬下,原生Android开发的路该怎么走?,flutter代码扫描

android 程序员 移动开发

人手必备的Jetpack操作手册来了!针对性解决Jetpack组件问题

android 程序员 移动开发

从 0 到 15k+ star ,GSYVideoPlayer 的发展历程|项目复盘

android 程序员 移动开发

为什么说Android开发一定要有身处安乐之窝,却逢乱世之感的觉悟?

android 程序员 移动开发

事件分发三连问:事件是如何从屏幕点击最终到达 Activity 的?CANCEL 事件什么时候会触发

android 程序员 移动开发

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