大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

可伸缩系统的设计模式

  • 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:235231
用户头像

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

关注

评论

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

PMI 的野望

Franklin 许峰

DevOps 敏捷 Lean 规范敏捷 PMI

联想企业科技集团与京东耀弘签订战略合作协议 实现合作发展新跨越

科技大数据

百度API接口智能化测试探索与实践

百度开发者中心

自动化测试 API测试 智能化测试

多行内容超出...显示的终极解决方案

CRMEB

如何写好代码?

阿里技术

技术管理 技术人生 内容合集

如何优雅的关闭 Java 线程池

淡泊明志、宁静致远

线程池

区块链数字版权,区块链数字藏品交易系统开发

a13823115807

#区块链# 区块链技术应用 区块链数字藏品

揭开神秘面纱,如何组织一次分布式压测

博睿数据

Python爬虫实战,pymysql模块,Python实现抓取音乐评论

Java全栈架构师

Python MySQL 数据库 程序员 面试

Flutter 高性能、多功能的全场景滚动容器原理与实践

阿里巴巴终端技术

flutter 移动开发 客户端

国家质量基础设施(NQI)一站式服务平台,NQI云服务平台建设

a13823115807

质量基础设施一站式服务 一站式服务平台开发

第七模块总结

张靖

#架构实战营

恒源云(GPUSHARE)_文本数据扩增时,哪些单词 (不) 应该被选择?

恒源云

深度学习 语音识别 语义

Flutter 应用程序中使用 GridTile 小部件

坚果

28天写作 12月日更

2021年SASE融合战略路线图(一)

devpoint

SD-WAN sase 12月日更

高质量的缺陷分析:让自己少写 bug

阿里技术

技术管理 技术人生 内容合集

技术三板斧:关于技术规划、管理、架构的思考

阿里技术

技术管理 技术人生 内容合集

技术人如何自我成长?

阿里技术

技术管理 技术人生 内容合集

安装TortoiseGit教程 手把手教学

Z.

git 工具 安装 Tortoisegit

架构实战 - 模块七

唐敏

架构实战营

阿里技术 技术人成长| 内容合集

阿里技术

技术管理 技术人生 技术专题合集

让“美”势不可挡,DataPipeline助力全球知名化妆品企业数字化营销再提速

DataPipeline数见科技

大数据 中间件 数据融合 数据迁移 数据管理

王者荣耀商城异地多活架构设计

张靖

#架构实战营

三年磨一剑,高德体验优化总结

阿里巴巴终端技术

ios android 性能优化 移动开发 客户端

EMQ X 企业版 v4.4.0 发布:新增三项集成支持、增强异常诊断能力

EMQ映云科技

云原生 物联网 IoT mqtt 规则引擎

关于写文章的一点经验

阿里技术

技术管理 技术人生 内容合集

热门招聘丨 XTransfer史上最全产品技术岗位公开招聘

XTransfer技术

产品 技术 招聘 XTransfer

计算机网络体系结构

淡泊明志、宁静致远

TCP 网络结构

【12月日更】浅谈Golang两种线程安全的map

小梁编程汇

golang 缓存 高性能 并发 多线程安全

一种播放远程TS格式媒体文件的新方案

Changing Lin

12月日更

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