QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

GOTO Berlin: 使用微服务分拆巨型系统

  • 2013-10-21
  • 本文字数:1032 字

    阅读完需:约 3 分钟

我们是否在构建过于庞大的系统,比实际需要更大的系统,ThoughtWorks 的首席顾问 James Lewis GOTO Berlin 大会上谈论“微服务——自适应的架构和组织”时以此开始了他的演讲。有示例表明所有制总体成本超过 90% 发生在一个系统启动之后。还有很多项目示例显示作为一个产业我们把大量的金钱花在了构建非常大的、复杂的并且根本没有用的系统上。

James 在大型组织中的经验表明,传统的构建系统的方式是将所有的功能放到一个大的应用程序中,使用一个大的数据库,但是这样做产生的问题引导着他进入了另一种构建系统的方式,新的方法将整个业务分离成更小的部分,正如微服务那样,每一个部分有它们自己的数据库。

对于他而言,之所以能够采用这种方式首先是源于六边形(Hexagonal)业务能力,参考了 Alistair Cockburn 的 Hexagonal 架构。一个单独的业务能力或者功能以及它自己的数据形成了一个六边形,一个使用 DDD 条款的有边界的上下文。然后所有的这些六边形会一起被放到一个更大的六边形里面,最终形成了一个系统。

其次,他关注为所有的服务构建一个统一的接口。在构建隔离系统时一种常见的集成技术是直接集成数据库访问。这种方式的问题是,它与系统的不同部分紧耦合,逻辑和数据很容易分散到系统的各个部分,让它变得难以预测变化的影响。James 喜欢使用在Web 上应用地很成功的集成技术,它们基于HTTP、Html 和超媒体,并使用 REST 进行通信。除了 REST 之外,James 还发现了两种非常有用的标准应用程序协议,它们是 Atom AtomPub

James 相信所有的这些小服务都应该遵循单一职责原则(Single Responsibility Principle),同时该原则应该应用到抽象的每一个层次,从对象到子系统业务能力,到形成系统的各个方面。

最后,James 谈到了可伸缩性。构建一个单独的支持所有功能的大系统使得它难以或者说不可能扩展系统的不同部分。即使系统中某些部分负载很高,而其他部分负载非常低,它们也必须以同样的容量运行。如果使用的是微服务,那么它们能够被部署到不同的服务器上,使用不同数量的服务器。另一种好处是不同的服务可以基于不同的平台实现。使用很多小服务的另一个至关重要的因素是自动地监控和部署,例如使用可编程的基础设施。过去这几年虚拟化、基础设施即服务(Infrastructure as a Service,IAAS)的进展让这些成为了可能。

2013 年的 GOTO Berlin 大会是 GOTO 大会首次在 Berlin 举行,本次大会有超过 400 位参会者和大约 80 位讲师。

查看英文原文 GOTO Berlin: Microservices as an Alternative to Monoliths

2013-10-21 06:201559
用户头像

发布了 321 篇内容, 共 120.5 次阅读, 收获喜欢 19 次。

关注

评论

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

汽车虚拟仿真交互体验更真实,实时云渲染来助力!

3DCAT实时渲染

实时云渲染 云仿真 云交互 实时渲染云 汽车虚拟仿真

【网络安全】Web Hacking网络黑客手册,GitHub星标3.7K!

我再BUG界嘎嘎乱杀

黑客 网络安全 安全 WEB安全 网安

SaaS 服务:满足个性化需求

可观测技术

SaaS

开源与商业的平衡:观测云的开放策略

可观测技术

开源

如何选择最佳需求跟踪工具?8大优质系统盘点

爱吃小舅的鱼

需求管理 需求管理工具 需求跟踪

DNS在架构中的使用

EquatorCoco

架构 DNS

Linux内存不够了?看看如何开启虚拟内存增加内存使用量

快乐非自愿限量之名

Java 数据库 Linux

体育直播平台开发与运营:差异化与选择跟随战略的实践案例

软件开发-梦幻运营部

产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像

OpenAnolis小助手

操作系统 AI容器镜像 AC2

淘宝商品详情API:商品关联推荐算法的解读

技术冰糖葫芦

API 安全 API 文档 API 测试 API 优先

智算引领,数耀鹭岛!天翼云与厦门电信共筑智算时代新底座!

天翼云开发者社区

云计算 智算中心 天翼云

实时检出率仅19%,SIEM还是网络威胁处理的“瑞士军刀”吗?

我再BUG界嘎嘎乱杀

网络安全 安全 信息安全 网安 SIEM

永劫光遇等40+鸿蒙原生游戏首次亮相CJ 2024 技术赋能精品游戏体验

最新动态

Agisoft Metashape Professional for Mac(专业3D建模软件)中文版

Mac相关知识分享

JPA乐观锁改悲观锁遇到的一些问题与思考

不在线第一只蜗牛

数据库 oracle 乐观锁 jap

支持75对矿井、23 类、1100余个系统工业数据采集,云鼎科技煤矿安全监测的经验分享

TDengine

折叠想象,「天池AI IP形象征集大赛」火热进行中!

阿里云天池

阿里云 AI 图像生成

AI+奥运:2024巴黎奥运时刻,怎么用AI技术给网友亿点震撼?

爱AI的猫猫头

人工智能 海报 AI绘画 Prompt AI视频

不容错过的 CentOS 迁移替换专场!分享安全保障、最佳案例等技术 | 龙蜥大讲堂

OpenAnolis小助手

centos 操作系统 龙蜥大讲堂 CentOS迁移替换

碳课堂|什么是碳盘查、碳核查?

AMT企源

碳管理 碳核算

LeetCode题解:2073. 买票需要的时间,直接计算,JavaScript,详细注释

Lee Chen

怎么解决做海外直播的网络问题?

Ogcloud

海外直播专线 海外直播 tiktok直播专线 海外直播网络 tiktok直播网络

GPT-4o版「Her」终于来了!英伟达股价两周内下跌23%!|AI日报

可信AI进展

人工智能

简化管理,提升效率:统一数据视角的力量

可观测技术

数据分析

海外直播APP源码技术配置说明 个性化定制海外直播平台

山东布谷科技胡月

国际版语音直播APP 社交直播APP开发 海外直播App开发 海外直播APP源码 聊天交友源码

数据特征采样在 MySQL 同步一致性校验中的实践

快乐非自愿限量之名

MySQL 数据库

金融行业中API的挑战与未来趋势

蛙人族

API接口

观测云:技术栈兼容性助力企业数字化转型

可观测技术

技术栈

观测云:构筑数字化时代的IT监控堡垒

可观测技术

监控

Compressor for Mac(视频转码编辑工具) v4.7中文激活版

Mac相关知识分享

首届「中国可观测日」圆满落幕

观测云

可观测性

GOTO Berlin:使用微服务分拆巨型系统_SOA_Jan Stenberg_InfoQ精选文章