I want to know if it is possible to create a c# forms app and a wcf service that provides a torrent-like service that balances load on the server by providing the c# app multiple sources?
We wanted to provide a way for clients to speed up requests in our wcf service by allocating sources from different servers with the same web service code just like a bittorrent style.
Am i looking at the wrong path here? Please guide me.
What you describe above is basic load-balancing. You can load-balance across multiple servers each hosting your WCF services using either hardware-based LB devices or using software-based solutions like Windows’ Network Load Balancing.
In order to make your WCF services work well in a load balancing environment, focus on using HTTP for your transport. You CAN load-balance TCP if you want, but it’s somewhat more involved due to socket pooling optimizations at the cilent and server.
HOWEVER, note that Load Balancing is NOTHING like BitTorrent which uses a sophisticated, dynamic, bandwidth and connectivity-aware multi-peer-to-peer chunk downloading and uploading protocol.
I’d DEFINITELY recommend starting with LB before pursuing other, perhaps more optimal solutions including using caching at the simple end of the scale and content distribution networks (CDN’s) in the middle. BitTorrent may be an option for you at the extreme end of the scale, but that’s a subject for a raft of other questions 😉