写点什么

在 Windows Azure 中使用 CQRS

  • 2012-04-12
  • 本文字数:657 字

    阅读完需:约 2 分钟

CQRS 作为一种模式,适合需要高可伸缩性和性能的应用程序,它近来变得越来越流行。Mark Seemann 在文章《 CQRS On Windows Azure 》中,使用示例探究了如何在 Windows Azure 平台中使用这种模式。

CQRS 的意思是命令查询责任分离(Command Query Responsibility Segregation),这个模式所基于的想法是,你能够使用与读取信息不同的模型来更新信息。这让你可以对读取和写入操作区别对待,可能会使用不同的数据访问技术访问不同的数据库,甚至使用其他架构模式像 Eventual consistency Event Sourcing 。文中的一些关键点如下:

  • 总是要假设显示的数据是过期的,并使用 UI 正确地设置期望值(因为屏幕上当前数据无法提供任何保证)。
  • 当从 UI 处理请求的时候,创建一个命令,尽快发送(到队列中)并返回。在 Windows Azure 上,这可以通过在存储队列(Storage queues)上实现一个频道(Channel)做到。
  • 分离工作者的角色,它们可以选取从 UI 发送过来的命令消息并对其进行处理。
  • 让写入操作是幂等的(Idempotent),从而多次重新传送消息,而不会导致数据问题。
  • 使用乐观并发机制——在 Windows Azure 中,这可以通过使用 Etags(CloudBlob.Properties.ETag)做到。
  • 更新视图数据可以在另一个频道(Channel)中异步发生——然后就可以被控制器查询到。
  • 以非规范的方式读取数据,以提升读取的性能。

从总体上了解更多 CQRS 信息的好地方是 Rinat Abdullin 的 CQRS 开始页面。你还可以阅读 Martin Fowler关于这个主题的文章,或者阅读InfoQ 上Arunava Chatterji 写的最新文章《健康的架构

查看英文原文: CQRS With Windows Azure

2012-04-12 09:301418
用户头像

发布了 340 篇内容, 共 129.3 次阅读, 收获喜欢 13 次。

关注

评论

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

趣谈“分布式链路追踪“组件发展史

悟空聊架构

分布式 链路追踪 28天写作 悟空聊架构 12月日更

模块五作业

心怀架构

基于云的技术架构设计实践-第1篇

hackstoic

云计算 容器 云原生 CI/CD 签约计划第二季

TypeScript 之常见类型(下)

冴羽

JavaScript typescript 翻译 大前端

1.《重学JAVA》开篇

杨鹏Geek

Java Java 25 周年 28天写作 12月日更

还在担心流量防护问题?Sentinel来帮你!

XiaoLin_Java

SpringCloud Alibaba 流量防控 签约计划第二季

模块5作业

Asha

模块五作业

小鹿

架构训练营 - 模块五作业

VegetableBird

架构实战营 架构师实战营 「架构实战营」

模块五作业

panxiaochun

架构实战营

数据也需要滴血认亲?

Justin

大数据 数据治理 28天写作

前端架构师神技,三招统一代码风格

杨成功

大前端 架构师 代码规范 代码格式化 签约计划第二季

架构实战-模块五

唐敏

「架构实战营」

如何掌握智识?

卢卡多多

28天写作 12月日更

微博系统中”微博评论“的高性能高可用计算架构

Geek_cb2b43

在线火星文转换器工具

入门小站

工具

ASP.NET Core中三个egg疼的路由函数

喵叔

28天写作 12月日更

Rust 元宇宙 12 —— 序列化和存储

Miracle

rust 元宇宙

互联网公司如何塑造一支有创业精神的技术团队?

阿里巴巴中间件

创业 阿里云 中间件

记录:一个从0-1打磨演讲的技术专家

将军-技术演讲力教练

Dubbo-Admin 正式支持 3.0 服务治理

阿里巴巴中间件

阿里云 云原生 dubbo 中间件 服务治理

自定义规则删除过期文件(linux)

liuzhen007

28天写作 12月日更

linux之cp强制复制文件

入门小站

Linux

聊聊SAAS

Im胡子

SaaS

架构实战营 - 模块5 - 作业

lucian

架构实战营

微博系统中”微博评论“的高性能高可用计算架构设计

stars

架构训练营

x

Nydia

微博评论的高性能高可用架构设计

zjluoyue

模块五作业

侠客行

架构实战营 「架构实战营」

如何构建“深入浅出,喜闻乐见”的界面

Ian哥

28天写作 沟通界面 深入浅出 喜闻乐见

架构实战营第五课作业微博评论高性能高可用架构

Geek_99eefd

架构实战营 「架构实战营」

在Windows Azure中使用CQRS_.NET_Roopesh Shenoy_InfoQ精选文章