I'm developing a service that needs to be scalable in Windows platform.
Initially it will receive aproximately 50 connections by second (each connection will send proximately 5kb data), but it needs to be scalable to receive more than 500 future.
It's impracticable (I guess) to save the received data to a common database like Microsoft SQL Server.
Is there another solution to save the data? Considering that it will receive more than 6 millions "records" per day.
There are 5 steps:
- Receive the data via http handler (c#);
- Save the received data; <- HERE
- Request the saved data to be processed;
- Process the requested data;
- Save the processed data. <- HERE
My pre-solution is:
- Receive the data via http handler (c#);
- Save the received data to Message Queue;
- Request from MSQ the saved data to be processed using a windows services;
- Process the requested data;
- Save the processed data to Microsoft SQL Server (here's the bottleneck);