2011-03-21 56 views
11

在我看来,该CQRS(命令和查询职责隔离)方法可能适合于实现在GAE上一个强大的和回应性的社交应用程序服务器,这是因为:CQRS是在Google App Engine上实现社交应用的好方法吗?

  1. CQRS不需要SQL数据库(其中GAE不提供)
  2. 它要求能够保持序列化的对象的数据库,其中GAE事实上确实提供
  3. 它需要的事件队列,该GAE还提供
  4. 它支持无阻塞,异步,基于消息的体系结构,整齐地工作GAE的限制S于长时间运行的事务
  5. 它是标榜为高度可扩展的,为什么选择乐观GAE

麻烦的是,我是一个生锈的Java程序员经验少有关这一选择是毕竟,我非常感谢任何使用过这两者的人的任何评论,或者至少从使用另一方的经验中进行调查。

我认为我的主要问题是:

  1. 过于复杂是CQRS新应用的早期阶段?
  2. 是否有任何诱饵陷阱会导致它们不匹配,例如GAE的数据存储库可能与CQRS要求不匹配?
  3. 任何人都可以推荐AxonJdon作为GAE特别合适(或不适合)吗?
  4. 我应该问什么其他问题?
+0

啊 - 只是注意到有些重叠的问题在http://stackoverflow.com/questions/3781528/end-to-end-example-of-cqrs-implementation-on-top-of-appengine - 有没有“正确“链接的方式? – 2011-03-22 07:21:11

+0

如果CQRS足以实现社交网络,您是否最终下定决心?你能详细说明一下吗? – 2014-05-27 11:30:53

+0

原型UI后,我停止了GAE应用程序,所以我从来没有得到一个结果,恐怕。但是请留下评论或回复,如果你这样做,并学习一些东西! – 2014-05-29 13:26:08

回答

13

CQRS不是过于复杂或困难,但它需要时间来调整思维,使其远离传统的请求/响应和客户端/服务器交互,这些交互在多年以来一直困扰着我们。

在具有事件源的CQRS中,数据存储是微不足道的,因为您从存储引擎中不需要太多 - NEventStore项目(用C#编写)可以轻松支持40-50种不同类型的存储引擎,困难。

两个纯Amazon Web服务和谷歌应用程序引擎是一个CQRS应用都非常好的平台,因为他们引导你所有正确的基础设施的选择 - 使用消息异步非阻塞通信。

我从来没有听说过Jdon,但轴突已经有一段时间了。尽量不要过度依赖框架。当你的CQRS的了解的加深,这将变得更加明显 - 基本上它就像试图避免在代码中使用Hibernate 到处的。你应该只使用Axon(或者你选择的)到底应该在哪里使用,而不是更多。

一些的,你可能会问环绕去哪里寻求帮助,哪些资源更好的问题已经可用来帮助您CQRS的理解。有一些好的博客和网站 - 包括cqrsinfo.com - 它可以帮助你开始。另外,如果你打算从CQRS开始,Greg Young的六小时视频是必须的。

+1

感谢您的深思熟虑的回复,我在http://cqrsinfo.com/video/ – 2011-03-22 06:52:46

+0

@Jonathan Oliver找到了视频当您说GAE支持的“异步,非阻塞通信使用消息传递”时。你能指导我哪些便利这种基础设施的GAE服务? – Pokuri 2015-08-31 12:42:46

+0

@Pokuri具体的技术并不是我所宣传的。这是沟通的风格。 – 2015-08-31 18:02:44

相关问题