云计算设计模式翻译系列

最近有点空闲时间,就经常翻看一些国外的技术文章,发现微软Azure的云计算设计模式系列非常经典。顺手翻译过来,就当是练习一下自己的英文翻译能力,顺便温习一下这些经典的设计模式。Azure的云计算设计模式系列非常接地气,比四人帮设计模式更顶层,也更贴近工程实践。如果英文能力足够的话,推荐大家去看原文(https://docs.microsoft.com/en-us/azure/architecture/patterns/


云计算设计模式

这些设计模式有助于在云上构建可靠的,可伸缩的和安全的应用程序。

每个设计模式都描述了它能解决的问题,应用这个模式时的注意事项,和在Microsoft Azure上的应用案例。大多数模式都包含案例代码或者代码片段,展示了如何在Azure上实现这些模式。而且,大部分模式都可以应用到任何的分布式系统中,无论是Microsoft Azure或者是其他任何的云平台。


云开发面临的挑战:

1)可用性

2)数据管理

3)设计和实现

4)消息机制

5)性能和伸缩性

6)弹性/容错性

7)安全性


设计模式目录

模式名称模式描述
Cache Aside按需从数据存储中加载数据到缓存中
Circuit Breaker当连接到远程资源或者服务时,处理那些需要一些时间才能修复的错误
CQRS使用接口隔离,隔离读写操作(在业务层面,而不仅仅是数据存储层面)
Event Sourcing使用append存储记录那些发生的领域数据上的全部操作事件(可回放)
Competing Comsumers使用多个并发的消费者来处理同一个消息通道上收到的消息
Compensation Transaction回滚一个步骤序列上的所有步骤,从而维护整体的最终一致性
Computing Resource Consolidation合并多个任务或者操作到一个单独的计算单元
External Configuration Store将应用的配置信息从部署包移动到一个中心存储
Federated Identity Provider使用一个外部的认证服务器来代理应用的认证功能
Gate Keeper使用一个专用的主机实例,作为客户端和应用程序/服务之间的中间人,验证,清洗请求,并在两者之间传送数据,从而起到保护服务的作用。
Health Endpoint Monitor应用程序实现了一种功能检查服务,使得外部工具可以周期性的调用这个服务,监控应用程序的状态
Index Table在数据存储经常被查询引用的字段上,创建索引
Leader Election在分布式环境中,在很多实例中选举出一个领导者,赋予它管理其他节点的职责,使得这些实例可以协同完成复杂的任务。
Materiialized View当数据的格式对于查询来说并不是非常理想时,基于一个或者多个数据存储生成预计算视图
Priority Queue定制发送给服务的请求的优先级,这样,高优先级的请求会比低优先级的请求更快速的被处理
Queue Based Load Leveling使用队列作为客户端和服务之间的缓冲,使得服务可以顺序处理这些请求,从而可以平滑处理突如其来的峰值负载
Pipelines and Filters当处理一个复杂任务的时候,将任务拆分成一系列的,可以被重用的处理单元
Retry当连接到一个远程的服务或者资源的时候,通过透明的重新调用这些服务,使得应用程序能够处理那些预期的临时失败
Scheduler Agent Supervisor在分布式的服务或者资源集合中,协调完成复杂的任务
Runtime Reconfiguration设计应用,使得它不需要重启就可以更新配置信息
Sharding将数据存储水平拆分成多个数据分区或者分片
Static Content Hosting将静态的内容部署到云服务中,这样他们就可以直接交付给客户
Throttling控制一个应用,个体租户,或者整个服务对资源的消费
Valet Key使用令牌或者密码,限制客户端对服务或者资源的直接访问

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值