简体   繁体   中英

WCF Duplex Service - Max Connections / Data Transfer

I am looking for some information regarding WCF Duplex communication and really best practices when dealing with WCF and bandwidth usage. Ill explain my application first...

.. The application itself is for computer management. Each computer on the network will have an Agent (windows service) and will need to talk to a Server (windows service running a WCF Duplex service). The network in question has ~6000 machines on it with probably around 75% of these being on at anyone time, however the application will need to be able to handle all the machines being on at one time and be able to handle expansion of the estate as well.

Conversation between the agents and server will be limited and will the majority of the time just be the agent 'checking in' to update the server with pc name / ip address / logged on user. The agent will have some tasks to run depending on the configuration details set on the server.

I have 2 real questions with some sub questions...

  1. Is it plausible to have 6000 - 7000 agents connecting and then checking in to the server.

    1a. if so is there a suggestion for how often these should 'check in' to keep the connection live without checking in too often (WCF receive/inactivity timeout default is 10minutes but i dont mind increasing this)

  2. What is the best way to update the agents configuration? I have 2 options / ideas

    2a. When the configuration is changed on the server it pushes (callback) these changes out to the agents - i am concerned about flooding the WAN, is there a good way to send to all agents without flooding it.

    2b. The agent has a configuration update time period, where it contacts the server to get the latest configuration details - while this should stop the issue of flooding the WAN (not all machines will run this update at the exact same time) it means that the configuration is not always up to date even though the agent is connected to the server.

I hope these are sensible questions, i have looked around everywhere for this sort of information regarding WCF services and i cant find anything that would even point me in the right direction. Any information would be greatly appreciated.

Simon

I am also trying to implement same kind of scenario. i have done some R & D with following approaches.

  • WCF with wsDualHttpBinding - this approach work fine in local network and not work over internet because this need to have public IPs for both client and server.

  • WCF with web socket with netHttpbinding - This is best option to implement duplex communication over internet but unfortunately This approach need to have both client and server win 8 or win 2012.

  • WCF with nettcpbinding -This is the feasible and best approach for me. I manage to get it work over internet and i have tested on separate network.

Now my worry is when thousands of clients connect to WCF service performance impact. If somebody has done this kind of development greatly appreciate your suggestions.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM