9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

在 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:301733
用户头像

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

关注

评论

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

80、90童年回忆之小霸王游戏机网页版

echeverra

小霸王

天启科技联创郭志强:趟遍教育行业信数化沟坎,创业智能赛道重塑行业生态

科创人

C4D梦幻色彩的3种表现方法

Finovy Cloud

C4D

软件测试/测试开发丨App自动化测试-弹窗异常处理

测试人

Python 软件测试 异常处理 弹窗

从问界单日7000台,聊聊智能汽车成熟时

脑极体

问界

欢迎体验

开源物联卡管理平台-设备管理

物联网 IoT 国际化 通信系统 通信平台

OpenHarmony组件内状态变量使用:@State装饰器

OpenHarmony开发者

OpenHarmony

Hugging "Hugging Face"

数由科技

低代码 huggingface 大语言模型 huggingfists 多模态模型

线程的五种状态

程序员万金游

Java】 #java #java程序员 #java面试

当 FineReport 遇见 CnosDB

CnosDB

开源 时序数据库 CnosDB FineReport

运维 | Nginx Proxy Manager反向代理工具

Appleex

运维 nginx反向代理

和鲸联合南开大学赵宏教授,共建新文科计算机交叉课程

ModelWhale

人才培养 数据科学 高等教育 新文科 双一流

软件测试/测试开发丨Python模块与包 学习笔记

测试人

Python 程序员 软件测试

数字时代 低代码赋能新零售系统

力软低代码开发平台

精彩议程抢先看 | 第四届 CID 大会线下参会报名启动!

OpenAnolis小助手

云计算 架构 深圳 龙蜥社区 CID

六个为Rust构建的IDE

树上有只程序猿

rust语言

源码, AST, IR, CFG之间的关系梳理

云计算 软件开发 华为云

对话在行人|达梦数据库:通过数智化转型推进国产替代

用友BIP

对话在行人

TDengine OSS 与 qStudio 实现无缝协同,革新数据分析和管理方式

TDengine

时序数据库 ​TDengine

这些负载均衡都解决哪些问题?服务、网关、NGINX

王中阳Go

nginx 负载均衡 微服务 面试题 网关

BOE(京东方)“照亮成长路”百所智慧教室落地偏远地区 携手故宫启动百堂公益课

科技热闻

这款可视化拖拽式低代码平台,真香!

树上有只程序猿

低代码平台 JNPF

音视频关键技术盘点!小白入行指南

X2Rtc

音视频 RTC

聊聊什么是厂商绑定

冯骐

开源 供应链 战略思考 技术 优化体系 厂商绑定

新云原生项目Kmesh正式开源,华为云持续创新,加速行业智能化升级

华为云开源

开源 云原生

TE智库|《刻画未来的道路:中国服务机器人产业研究报告》发布

TE智库

服务机器人

HarmonyOS应用窗口管理(Stage模型)

HarmonyOS开发者

HarmonyOS

Python 元组完全指南2

小万哥

Python 程序员 软件 后端 开发

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