写点什么

可伸缩系统的设计模式

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

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

关注

评论

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

Python图像处理丨带你掌握图像几何变换

华为云开发者联盟

Python 人工智能

终、《图解HTTP》读书笔记 - 汇总篇(总结)

懒时小窝

读书笔记 读书 HTTP 图解https #读书

【计算讲谈社】第八讲:AI 技术的“纺织业”是什么?

大咖说

人工智能 商业化

涛思数据加入龙蜥社区,携手共建时序数据库生态

OpenAnolis小助手

数据库 涛思数据 开源 龙蜥社区 CLA

分布式系统大势所趋,银行运维如何与时俱进?

嘉为蓝鲸

架构 分布式 运维 金融 银行

历时4个月,4大板块,328页52188字,SpringMVC源码解析文档

冉然学Java

Java spring Spring MVC 构架 Spring Web MVC、

Spring Cache设计之美,你品,你细品...

华为云开发者联盟

后端 开发

C#/VB.NET:在不同Excel工作簿之间复制单元格区域和工作表

Geek_249eec

C# Excel VB.NET 单元格区域 工作表

二、《图解HTTP》- HTTP协议历史发展(重点)

懒时小窝

HTTP 图解https

五、《图解HTTP》- RSS和网络攻击

懒时小窝

HTTP 图解https

Neo4j导入思知OwnThink开源的知识图谱

Joshua

nlp neo4j 知识图谱

秒杀架构分析与实践

Bruce Duan

签约计划第三季

软件交付周期缩短!且看精益思想如何加速全局价值流动

嘉为蓝鲸

DevOps 敏捷 精益

巨细靡遗流程控制,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang流程结构详解EP09

刘悦的技术博客

Go 教程 Go web go语言 Go 语言

七、《图解HTTP》- HTTP首部和HTTP协作服务器

懒时小窝

HTTP 图解https

共建共享数字世界的根:阿里云打造全面的云原生开源生态

阿里巴巴云原生

阿里云 开源 容器 RocketMQ 云原生

场景品牌易观千帆,助力数智化需求持续升级

易观分析

数字经济 数智化

语音直播app——满足不同行业的业务需求

开源直播系统源码

软件开发 直播系统源码 语音直播系统 语音直播app

Java将PDF拆分为多个 PDF 文件

在下毛毛雨

Java PDF 拆分PDF

四、《图解HTTP》- 状态码

懒时小窝

HTTP 状态码 图解https

开源一夏 | 使用 JavaScript 的响应式计数器动画

海拥(haiyong.site)

开源 8月月更

N、《图解HTTP》读书笔记 - 附录

懒时小窝

资料 图解https 参考数据

注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

阿里巴巴云原生

阿里云 微服务 云原生 网关

新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付

阿里巴巴云原生

阿里云 Serverless 云原生 合作案例

室内led大屏幕可以用在室外吗?​

Dylan

LED显示屏 户外LED显示屏 户内led显示屏

三、《图解HTTP》- 报文内的 HTTP信息

懒时小窝

HTTP 图解https

【SimpleFunction系列二.2】SpringBoot注解整合Redisson分布式锁

莫逸风

分布式锁 redisson 分布式锁 企业级应用

干货合集 | 关于制品库,你了解多少?

嘉为蓝鲸

DevOps 研发 制品库

六、《图解HTTP》- 用户身份认证

懒时小窝

HTTP 图解https

不要让CMDB沦为数据孤岛!运维高质量CMDB“修炼”之道

嘉为蓝鲸

运维 数据 配置 CMDB 配置管理

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