domain-driven-design - 分布式域驱动设计资源

标签 domain-driven-design soa distributed messaging dddd

我对开发DDD应用程序很有信心,但是当两个应用程序相互集成时,一个继续困扰我的领域是。我正在努力寻找有关该主题的任何有用的书籍或资源。 EAI模式之类的书深入探讨了消息传递模式和消息构造,但是并没有真正解释如何构建利用这些模式的系统。

我已经搜索了很多东西,我很确定没有示例应用程序可以演示如何集成两个系统。我了解异步消息传递的概念,但是仍然找不到如何应用异步消息的良好示例。

SOA上的资源似乎一直在重复相同的概念,而没有演示如何实现它们,而且通常似乎更多地与向我出售产品有关。

以下是我正在努力回答的问题:

  • 每个应用程序都应该拥有自己的数据副本吗?例如,组织内的每个应用程序都应该有自己的客户列表,并在收到消息后更新这些列表吗?
  • 在DDD堆栈中的哪一点传递消息?它们是域事件的结果吗?
  • 我可以将异步消息传递与WCF结合使用还是必须选择?我是否使用WCF进行请求/响应以及使用消息传递进行发布/订阅?
  • 一个DDD应用程序如何使用另一个DDD应用程序的服务?如第1点所述,一个DDD应用程序应该通过其应用程序服务向另一个系统查询其数据,还是应该已经拥有自己的数据本地副本?
  • 显然我无法在两个系统之间进行事务处理。如何避免这种情况?

  • 如果我听起来很困惑,那是因为我在。我不是在寻找以上问题的答案,只是指向将回答这个问题和类似问题的资源的方向。

    最佳答案

    我一直在进行类似的过渡。我的建议:

  • http://cqrsinfo.com/开始。
  • 收听Distributed Podcast
  • 收听Greg Young的所有演讲。例如,here是Eric Evans采访Greg。他也有一些全天的 session 记录在案。
  • 阅读/收听Udi Dahan的任何内容(播客,讲座,文章等)。他在InfoQ上有一些不错的东西。
  • 等待Greg's book
  • 阅读您可以在EDA(事件驱动的体系结构)上找到的所有内容。
  • 关于domain-driven-design - 分布式域驱动设计资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256946/

    相关文章:

    parallel-processing - tensorflow 中模型并行性的实现

    selenium - 如何让 phpunit 在外部存储库上进行代码覆盖?

    domain-driven-design - CQRS-命令是否应尝试创建 “complex”主从实体?

    c# - 如何确定聚合根 - 领域驱动设计

    web-services - Web 服务 - 它们究竟是什么?

    design-patterns - 从 SOA 的角度来看,Registry 和 Repository 有什么区别?

    Git + SoA,一个仓库还是多个仓库?

    tensorflow - 分布式 tensorflow 参数服务器和 worker

    domain-driven-design - 您如何处理具有更新频率与根不同的子实体集合的聚合根?

    python - Tensorflow 的 Between-graph replication 是数据并行的一个例子吗?