2011-01-28 27 views
2

我开始使用Java编写Web应用程序项目,并且一直在研究要采用哪种架构。Domain-Event-Driven Architecture

这将有n服务(计费,报告,销售,客户关系管理等),这取决于服务,可能会或可能不会作为独立的webapp工作。

我真的很喜欢Domain-Event-Driven的方法。事情是,我从来没有做过这么大的项目,我会很欣赏听到一些想法和提示,在哪条路上。

与域事件驱动的架构,我的主要疑点有:

  • 如果我需要从其他服务的一些数据,是不是从那里创建一个Web服务为它和访问所有数据?我会在这里产生更深的耦合,这是我想避免的。还有哪些其他方法?

  • 持久性如何完成?每个服务都有自己的数据库吗?服务数据库之间没有关系?

  • 如果服务失败会怎么样?它会丢失所有信息,因此将无法采取相应的行动,对吧?任何解决方法?

  • 如果ActiveMQ失败怎么办?

非常感谢!

回答

3

如果我需要来自其他服务的一些数据,为它创建一个Web服务并从那里访问所有数据是否正确?

是的。

我会在这里产生更深的耦合,这就是我想要避免的。

假。你应该解释一下你认为会发生什么耦合。

还有哪些方法?

面向服务的体系结构一直这样做。替代品是更多紧密耦合。

持久性如何完成?每个服务都有自己的数据库吗?

是的。服务是独立的。服务常常是大型打包应用程序的一部分。

服务数据库之间没有关系?

正确。

如果服务失败会怎么样?

无赖。请求在队列中备份,直到您重新启动服务。

它会松散所有消息,因此将无法采取相应的行动,对不对?任何解决方法?

假。完全错误。您可以使用持久,可靠的消息队列。

如果ActiveMQ失败怎么办?

然后我们知道它的世界结束。 “失败”是什么意思?这是一个相当松散的耦合系统,可以解决许多问题。

+0

非常感谢您花时间!这很有帮助。 – 2011-01-28 21:45:27

相关问题