【发布时间】:2013-07-09 12:55:10
【问题描述】:
我有一个架构,其中有以下组成部分:
- 外部应用程序 (EA) - 向 WCF 服务发出请求的第三方
- WCF 服务 (WS) - 所有业务逻辑
- Pub-Sub 服务 (PSS) - 处理发布和订阅
- 内部应用程序 (IA) - 订阅或取消订阅 Pub-Sub(带有回调)
外部应用程序 (EA) 引用 WCF 服务 (WS) 并调用特定方法,所有内部应用程序 (IA) 都应通过 Pub-Sub 服务 (PSS) 通知该方法。
我遇到的问题是决定让一个 WCF 服务 (WS) 与另一个 WCF 服务(Pub-Sub 服务)通信是否可行或最佳实践。我读到这不是一个好主意,因为请求是以同步方式处理的,这可能会导致服务交付不一致。
我基于此的具体问题是 - 有人可以分享允许两个 WCF 服务相互通信的优点和缺点吗?还是这不是问题?
谢谢
【问题讨论】:
-
对我来说这听起来像是一个基于消息的架构。为了使您的架构更具容错性,而不是同步调用 PSS,而是使用消息队列(例如 MSMQ),以便 WS 即使在 PSS 关闭的情况下也可以继续。这甚至会提高性能。
-
谢谢 - 很棒的建议,但不幸的是我无法获得相关资源。所以我希望能有一些类似上面提到的东西。
标签: c# wcf architecture