【问题标题】:WCF services on IIS with net.tcp port sharing. Is it good solution according to performance issues?IIS 上的 WCF 服务与 net.tcp 端口共享。根据性能问题是不是很好的解决方案?
【发布时间】:2012-08-07 10:53:33
【问题描述】:

我们正计划开发一大组带有 net.tcp 绑定的 WCF 服务(大约 50 个服务)。它们将托管在 IIS 上。

据我了解,有两种实现方式:

  1. 在 IIS 上创建一个站点。服务将部署为 IIS 应用程序。因此,所有服务将根据站点的 net.tcp 绑定使用相同的端口(net.tcp 端口共享功能)。

  2. 在 IIS 上创建 50 个站点,一个站点用于一项服务。每个站点在 net.tcp 绑定中都有不同的端口 - 因此,每个服务都将使用不同的端口工作。

根据性能问题,哪种方式更好?我找不到任何有关 net.tcp 端口共享解决方案性能的信息。

【问题讨论】:

    标签: wcf net.tcp tcpportsharing


    【解决方案1】:

    NetTcpPortSharing 是 WCF TCP 端口共享服务。它实现了一个集中的 TCP 侦听器,以便多个进程可以在同一个 TCP 端口上侦听。
    有关更多信息,您可以参考此链接。 http://msdn.microsoft.com/hi-in/magazine/cc163357(en-us).aspx

    端口共享不应该只是部署服务的一个考虑因素。 您必须基于此设计部署。

    1. 应用程序池。
    2. 崩溃和恢复。
    3. 服务器硬件。
    4. 服务性质(大量数据事务)

    【讨论】:

    • 谢谢。但是 NetTcpPortSharing 的性能如何呢?哪个更好 - 不同端口上的 50 个站点(一个站点提供一项服务)或一个站点上的 NetTcpPortSharing(所有服务)在一个端口上?
    • 应创建 50 个共享单个端口的独立站点。有关 regerding 配置的更多信息,您可以参考这篇文章。 msdn.microsoft.com/en-us/library/ms734772.aspx
    • 我了解端口共享,但出现了另一个连接问题。使用多个 WCF 服务制作 WCF 项目是不是很糟糕?这样的项目可以构建在一个 DLL 和几个 *.svc 文件中。我可以将这种方法用于共同部署的服务(根据我们的目标和架构)吗?
    • 是的,创建一个具有多个 WCF 服务的项目是不好的,因为更改一项服务会导致在部署时重新编译所有服务和所有服务的停机时间。在一种情况下,如果您的一个服务引发未处理的异常,导致重新启动所有服务。如果单个项目共享多个服务,在团队环境中开发服务也将很困难。将类似的方法(操作合同)归为一项服务。您可以为日志、验证和授权等创建可在服务之间使用的通用组件。
    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2011-03-21
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多