.Net server clustering technologies

I want to create a clustered structure with multiple servers that will work similarly to those described below for message flow.

From client

  • Gateway server receives message
  • Gateway server sends ACK (UDP) message
  • The message is configured deserialized from blob to object via factory
  • The message is then routed to an additional server in the cluster (based on configuration) and sends the object to the secondary server via WCF
  • The message is processed on the secondary server.

From server

  • The secondary server creates a message and sends it to the gateway server
  • Binary gateway server serializes message
  • Gateway server sends binary to client and waits for ACK (UDP) messages

The servers will be configured via .config files to point to services, locally in one application (WCF will be initialized), or other systems.

Has anyone worked on building a type of architecture like this, and if so what are some of the problems you are having?


EDIT
The system will be the server side of an existing protocol, so any of the client-server protocols are essentially untouchable, but it includes state management (the client sends a 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?

+1


source to share


2 answers


Edit Can anyone even provide a link to an open source project that uses clustering in .Net?

Check out this sample application . According to the site ...



Technologies Demonstrated Service Oriented, N-Tier Design with ASP.NET and WCF

  • Clean separation of user interface, business services and database access.
  • Design and performance tuning
  • Scaling out with dynamic clustering
  • Centralized configuration management of clustered service nodes
0


source


Maintaining session state across long-running transactions can be a major hurdle. You will need to make sure that your load balancing solution can consider or host a session from one server to another. This can be achieved by sharing state through an external source, such as a cookie in the browser / client, or writing to a shared database server. Alternatively, many hardware balancing solutions will use "sticky sessions" so that the client always returns to the same server (based on IP address, for example).



+1


source







All Articles