我正在创建一个应用程序,该应用程序将与将安装WCF Web Service的单个服务器进行通信。我对这个过程有点新意,并且想知道从长远来看这两个选项中哪一个会更好地处理大量用户的负载:
1-在多核服务器上创建并安装单个Web服务,以便与所有客户端应用程序进行通信。
2-在多核服务器上创建并安装多个Web服务,每个服务器与客户端应用程序内的不同模块进行通信。
总而言之我只是想弄清楚处理时间和大量用户是否在选项1和2之间存在显着差异,或者选项2是否会造成不必要的编程问题
谢谢,
帕特里克
答案 0 :(得分:1)
拥有多个Web服务的好处是,每个人都可以在IIS
中拥有自己的应用程序池(即工作进程)。因此,您可以为一个Web服务回收一个应用程序池,而不会影响其他Web服务。
拥有单一Web服务的优势可能是更容易维护,因为代码在一个文件中,等等。当然,如果代码很多,这也会使维护更加困难。
所以问题是,什么是正确的粒度级别?
您可以按业务功能拆分Web服务,我发现这是一种很好的方法。例如,如果您有一些处理发票的业务方法,您可以将它们放入开票Web服务。
如果您有其他处理装运订单的业务方法,您可以将这些方法放入装运网络服务。
在我看来,这会创建一个很好的分割,并且还可以利用前面讨论的应用程序池优势。
示例强> 您可以使用FedEx查看此类拆分的真实示例。请注意他们如何通过发货,跟踪和可见性等方式分割其Web服务。