【问题标题】:Connecting with external systems | How to design the system与外部系统连接 |如何设计系统
【发布时间】:2012-04-27 23:52:59
【问题描述】:

我有一个关于如何配置与外部系统接口的系统的问题。

以下是我想将它们放在一起的各个部分:

选项1

  • 我有 3 个外部服务,它们为系统带来 3 种不同类型的消息。
  • 我有一个 WCF 服务,它监听所有这些外部服务,将消息转换为通用格式。
  • 我有一个 WPF UI,它使用双工 tcp 绑定与 WCF 服务连接,并且消息在 UI 上得到更新。
  • UI 还将任何传出消息发送到服务,该服务又将其发送到外部服务。

我的问题是,您认为这是一种可扩展、可维护且经济高效的解决方案架构方式吗?如果我在 Intranet 场景中部署它,您是否发现任何具体问题?

我给出的另一个考虑如下:

选项 2

  • 有 3 个连接到外部服务的 windows 服务。
  • 每个服务都将消息生成规范格式,并将其放在特定主题的消息总线上。
  • 拥有一个 WCF 服务,该服务侦听消息总线上的主题以获取新消息。
  • 使用双工绑定来使用任何传入消息更新客户端。
  • 客户端将传出消息发送到 WCF 服务,WCF 服务又将其放到由 Windows 服务侦听的特定主题,然后将它们发送到外部系统。

我在这里有点困惑,请你帮我看看哪种方法更好,如果可以的话,请指出任何讨论这些场景的链接?

数据交换量为每 5 分钟 400 条消息,分布在外部系统中。

我相信你们中的很多人可能都遇到过这种情况,所以如果你有更好的方法来解决这个问题,请告诉我。

谢谢, -迈克

【问题讨论】:

    标签: c# wcf architecture


    【解决方案1】:

    在处理 3 种相似但不同的消息格式时,我当然认为您的选项 2 是正确的。这实现了两种集成模式,adaptercanonical message

    但是,我认为使用相同的“适配器”服务作为反向传播消息的管道是错误的。最好将响应通道从请求处理管道中抽象出来。

    您可以实现分发器(或router)模式来处理将响应消息路由回请求源。

    【讨论】:

      猜你喜欢
      • 2022-08-20
      • 2022-07-22
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多