Hi; I just started working on a project where I will be required to deal with as much as 40 - 50 requests per second. These requests are sync requests which might take up to a second to process and I will have to return response when processing is complete. I am using MINA 2.0.0.RC1. I used Mina for some time with lower traffic, With all due respect I don't have a complete picture of the thread model of MINA and there's really limited resources in project web page and I am not quite sure how far I can extend it. I know that I can add executorfilter to provide n-threaded approach. What I am wondering is "is NioSocketAcceptor() totally independent of executor filter?" so If I initialize it like:
final IoAcceptor acceptor = new NioSocketAcceptor(); Will there still be only one acceptor thread regardless of how many threads are available? As far as I understand, acceptor is single entry point where a request comes in fairly faster(compared to processing it), it branches the requests to threads and each thread takes care of each request by passing it to the handler. So things should be good, as long as application has free threads, but what if application receives way too many requests than it can handle and all threads are busy at the time, what happens to that request? does acceptor store it in a queue somewhere, or does it simply drop request? As long as my processing is fast, single entry point for requests shouldn't be a problem for the application, but I still wonder if there should be some other design considerations that I should be aware of to maintain scalability. Erinc
