views:

57

answers:

1

I need to design and I'm looking in to using WCF to accomplish this.

Basically here is how I have it:

Server process: Generate list of files to transfer across multiple FTP/SFTP sites in to a queue.

Client(s): Talk to server to get files to transfer. Transfer the files acquired. All the data necessary to transfer the files will be present. Once transferred successfully, notify the server to remove it from the queue. Also, make sure no other client is trying to perform the transfer.

I think it sounds like a good candidate for WCF, since ideally it would be load balanced against a few machines.

Are there are any good articles/design patterns to use?

A: 

What you say is really simple to solve by using tickets. The server creates a ticket each time a queue item is took by a client by specifying it's ID in the ticket, and the expiration date-time.

That way the server can easily check each client has balanced amount of tickets pretty easy, and can control when they expire so the queue items got free for another client to get care of the transfer, etc.

someone