Reputation: 29
Scenario : n number of vehicles create tcp socket connections with the tcp server. Server then dumps incoming messages to a DB. Admins can send commands to the vehicles through the sockets as well so sockets have to be persistent.
Problem : Currently, there is only single tcp server and DB sever.
Question : How to make this architecture scalable in .NET. We want to have more tcp servers and DBs. Whats the best method/technology stack.
Thanks
Upvotes: 0
Views: 614
Reputation: 7285
I believe what you are looking for is a messaging infrastructure, there are several well established libraries/products in this section( e.g. RabbitMQ, ZeroMQ, ...)
almost all of them supports patterns for distributing message across several producers/consumers, which makes writing scalable applications easier, ZeroMQ is something in the middle and the usage is very similar to sockets.
Aside from library selection I suggest you to have a look at ZMQ Guide, it describes patterns and best practices for writing an scalable application.
Upvotes: 1