I want to develop a multi-server clustered framework that will work similarly to the steps below for message flow.
From Client
- Gateway Server Recieves Message
- Gateway Server sends an ACK Message (UDP)
- Message is custom deserialized from binary into an object via a factory
- Message is then routed to a secondary server in the cluster (config based) and sends the object to the secondary server via WCF
- Message is handled on the secondary server.
From Server
- Secondary Server builds a Message and sends to the gateway server
- Gateway server binary serializes the Message
- Gateway server sends the binary to the client and waits for an ACK message (UDP)
The servers will be configured via .config files for pointing to the services, either locally in the same application (the WCF will be initialized) or other systems.
Has anyone worked to create any type of architecture like this, and if so, what are some of the issues you have run into?
EDIT
The system is going to be the server side to an already pre-existing protocol, so any of the client to server protocol is essentially untouchable, but it does include state management (client sends session with every call), encryption, server routing, and packet protection.
Edit
Can someone even provide a link to an open source project that uses clustering in .Net?