【发布时间】:2011-06-14 20:18:03
【问题描述】:
我猜,这是一个常见问题,但我会尝试描述我当前的问题。
我有一个基础服务,我们将其命名为“CoreService”,它提供我会说的“主要”功能:在 DB 中处理数据(我们的应用程序中有一个集中式 DB)。还有许多其他应用程序,其中一些具有用于本地目的的自己的数据库。还有一个简单的“NotificationService”。它的目的是向不同的订阅者广播消息。
通常,此 NotificationService 从“ExternalWorld”调用,并将通知发送到不同的服务(其中包括“CoreService”)。
今天我看到有必要从“CoreService”调用“NotificationService”。
我在这里担心的是我引入了循环依赖:NotificationService 需要知道如何向每个服务发送消息(包括“CoreService”,因此它需要了解“CoreService”接口,因此它需要引用'CoreService')和'CoreService'需要向'NotificationService发送消息(所以它也需要引用它)......循环依赖......
问题:我们应该如何构建我们的架构来处理此类问题?
非常感谢!
【问题讨论】:
-
NotificationService 是这里的中介,不是吗?
标签: architecture service soa