AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

可伸缩系统的设计模式

  • 2010-12-14
  • 本文字数:817 字

    阅读完需:约 3 分钟

过去十年所取得的一个主要成就就是面向大众的可伸缩系统的广泛应用,尤其是云系统和某些高可伸缩的Web 应用。比如说,Facebook 平均每秒可以处理1300 万个请求,峰值达到了450 M/s。即便如此,可伸缩系统背后的概念与架构仍然在快速发展着。大约3 年前,来自加利福尼亚洲的软件架构师Ricky Ho 曾撰写博文详细分析了可伸缩系统的现状。3 年后,他认为是时候重新谈谈这个话题了。

Ricky 将可伸缩性定义为

可伸缩性解决的是在持续增长的性能、花费、维护代价以及众多其他因素的情况下如何降低系统的负面影响。

在其最新的博文中,他列举了如下模式:

  • 负载平衡
  • 分散与聚集
  • 结果缓存
  • 共享空间(又叫做 Blackboard)
  • 管道与过滤
  • Map Reduce
  • 大块的同步并行
  • 执行编排

如果说负载平衡、结果缓存和 Map Reduce 已经得到了广泛应用,那么某些模式现在正面临着社会化媒体所带来的新问题。比如说,上个世纪80 年代所提出的大块同步并行现在就作为 Google Pregel Graph Processing 项目的一部分,支持 3 种常见的处理模式:

  • 捕获(比如说 John 通过社交网络联系到了 Peter,那么在这两个 Person 结点间就会建立一个连接)
  • 查询(比如说找到 John 的朋友当中年龄小于 30 且已婚的那些朋友)
  • 挖掘(比如说找到硅谷中最有影响力的人)

Ricky 还介绍了执行编排模式:

该模型基于智能的调度者 / 编排者,用于跨越集群调度准备运行的任务(基于依赖图)。

他说该模式已经在微软的 Dryad 项目中得到了应用,程序员可以“使用成千上万台机器而无需了解并发编程”。

Dryad 程序员会编写几个顺序程序,然后使用单向通道将其连接起来。计算是结构化的,以有向图的方式进行:程序是图形顶点,而通道则作为图的边。Dryad job 是个图形生成器,可以合成任意方向的无圈图。这些图甚至可以在执行期间改变来响应计算中的重要事件。

我们今天所使用的可伸缩性模式仅有 10 年的历史。接下来会有什么限制呢?你有构建可伸缩系统的经历么?忽略了哪些东西呢?

查看英文原文: Scalable System Design Patterns

2010-12-14 12:235176
用户头像

发布了 88 篇内容, 共 269.1 次阅读, 收获喜欢 8 次。

关注

评论

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

[Day40]-[回溯]-子集

方勇(gopher)

LeetCode 数据结构算法

基于GPU的并行集群系统在中国的发展状况

Finovy Cloud

gpu 云服务器 集群渲染 渲染服务

Tapdata 在数字化防疫场景的最佳实践

tapdata

数字化 防疫 主数据管理 实时数据 数据虚拟化

你说写代码,最常用的3个设计模式是啥?

小傅哥

设计模式 小傅哥 架构设计 代码优化 设计原则

Apache Kafka 分层存储(Tiered Storage)技术解析

移动云大数据

kafka

Python unicode三明治

AIWeker

Python 人工智能 5月月更

WorkPlus IM即时通讯:快速集成、私有化部署、安全加密

BeeWorks

快速上手云原生安全平台 NeuVector

Rancher

Kubernetes k8s rancher NeuVector

程序员,做业务还是做技术更有前途?

张泽豪

程序员

洞见科技中标渤海银行「联邦学习平台建设+营销场景建模服务」两大项目

洞见科技

金融科技 隐私计算

活动报名:以「数」制「疫」,解密 Tapdata 在张家港市卫健委数字化防疫场景下的最佳实践

tapdata

数字化 数据孤岛 实时数据 疫情防控 活动报名

《数字经济全景白皮书》银行数字化篇 重磅发布!

易观分析

银行数字化

软件完整性保护方案之Sigstore

墨菲安全

网络安全 java 编程 墨菲安全 软件完整性 sigstore

攻防演练 | 关于蓝队攻击研判的3大要点解读

青藤云安全

安全攻防 网络安全

微信小程序商城源代码

源字节1号

软件开发 小程序开发

存储模组头部厂商嘉合劲威加入龙蜥社区

OpenAnolis小助手

开源 操作系统 芯片 龙蜥社区 嘉合劲威

数据产品实战-toB产品实践心得

第519区

数字化转型 解决方案 数据产品 tob产品

Wallys-AR9582 /2x2 MIMO /Industrial-grade/ 902-928Mhz

wallys-wifi6

技术分享| 快对讲如何降噪

anyRTC开发者

人工智能 音视频 语音通话 视频通话 降噪

站在全新的业务视角,重新认识 Bonree Zeus

博睿数据

APM 博睿数据 zeus

HarmonyOS崩溃服务能力全新上线,帮你高效解决崩溃问题!

HarmonyOS开发者

HarmonyOS 崩溃服务能力

软件的license是什么意思?作用是什么?

行云管家

软件 运维 许可证

极狐GitLab yum/apt repo正式开放,更顺畅的极狐GitLab安装升级体验

极狐GitLab

极狐GitLab 安装源

浅谈 Fiori Fundamentals 和 SAP UI5 Web Components 的关系

汪子熙

前端开发 UI SAP Fiori 5月月更

无聊科技正经事周刊(第 7 期):跟村上春树学跑步,向古川武士学养成

潘大壮

程序员 周刊 行业趋势 科技周刊 技术周刊

直播预告丨OpenHarmony标准系统多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

实用教程 | 云原生安全平台 NeuVector 部署

Rancher

Kubernetes k8s rancher NeuVector

零基础可以学云计算运维吗?怎样从才可以学好?

行云管家

云计算 运维 IT运维 云运维 服务器运维

探索开源工作流引擎Azkaban在MRS中的实践

华为云开发者联盟

开源 MRS Azkaban 开源工作流引擎

从SVN完美迁移到Git,我只用了5分钟

阿里云云效

git svn 阿里云 版本控制 代码

苹果 AppStore 财年和账单那些趣事

37手游iOS技术运营团队

apple appstore App生态

可伸缩系统的设计模式_架构_Jean-Jacques Dubray_InfoQ精选文章