【问题标题】:Communication of two application in same device同一设备中的两个应用程序的通信
【发布时间】:2019-10-04 07:47:38
【问题描述】:

有 2 个应用程序需要相互通信。它们都在同一台 PC 上运行。

  1. 主应用程序 (C#)

  2. 帮助应用程序 (C#) -> 从主应用程序启动

帮助应用程序将修改主应用程序使用/包含的一些数据。辅助应用程序可以是微服务吗? (对微服务不熟悉,网上查的时候看到过)

我找到了一个有用的教程,并且能够创建 WCF 双工绑定。 现在 Main Application 和 Helper Application 可以通信了。 我只是想知道这是否是一个好的解决方案(或者微服务更好??)

【问题讨论】:

    标签: rest wcf soap wsdl microservices


    【解决方案1】:

    帮助应用程序可以是微服务吗? (不熟悉微服务...

    当然。 “微服务”只是描述基于分布式组件的网络计算的最新术语。它可以追溯到(可能更远)分布式 COM (DCOM)Corba 的时代; COM+ 最后是面向服务的架构 (SOA)。 WCF 将 SOA 用作最佳实践。在实践中,SOA 和微服务之间唯一真正的区别是后者倾向于采用 HTTP-REST-JSON 作为传输/API/有效负载,而 SOA 生成是传输/有效负载中立的,但通常使用 SOAP。

    我找到了一个有用的教程,并且能够创建 WCF 双工绑定。现在 Main Application 和 Helper Application 可以通信了。我只是想知道这是否是一个好的解决方案(或者微服务更好??)

    从技术上讲,您已经在使用微服务/SOA。

    我只是想知道这是否是一个好的解决方案

    。 SOA/微服务在同一台机器上的问题是它们非常健谈;开销很大;并且他们的消息有效负载非常冗长。默认情况下,SOAP 和 REST 都使用文本消息(分别为 XML 和 JSON)(与二进制相比更大)。

    如果客户端和服务器都在同一台机器上,您最好直接使用命名管道并避免使用 WCF/REST。命名管道下的通信是二进制的,因此非常紧凑;命名管道以内核模式运行,这意味着它非常快速,并且作为在本地通信时的额外奖励,绕过 网络层(而不是说TCP 甚至可以用于 LOCALHOST)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2016-06-03
      • 2011-03-08
      • 2012-02-14
      相关资源
      最近更新 更多