I am wondering which one will give me a better performance?
Let me give you the scenario:
Customer will send me around 3000 - 5000 request per hour originating from different various channels, such as:
- via web using HTTP GET (hit my aspx)
- via FTP (I have an application to handle new incoming file in my FTP folder)
- via text message thru GSM Modem (I have another windows application to handle this)
Option A
- All those 3 input channels will insert the requests into a queue (SQL Service Broker or MSMQ)
- A multi-threaded windows application grabs them from the queue (i.e. dequeue) and process each one of them then send the result back to my customer
Option B
- I created 1 web application (process.aspx)
- Each of those 3 input channels will hit process.aspx (using HTTP GET) whenever there is an incoming request
- process.aspx will do the data processing, then send the result back to my client
The question is which one will perform better? Option A OR Option B?
Which one is more reliable?
Will too much queue will cause performance degradation?
Is Web application reliable to handle all the request without any of them being lost?
Thanks you for your help.
Regards,
Adrian
Sam HobbsPosted Apr 16, 2010, 6:19 PM
I also think that there are other possibilities, such as TCP/IP connections. For .Net, look at Remoting and WCF. I know there are articles in this web site about Remoting, but I am not sure if that is the same thing as WCF.