Hello, I need some advices on building scalable media server with restlet. The idea is to buld application that serves media to relative big number clients (about >500). The specific features of clients' request are HTTP long-living nature. So once connected client permanently fetches content from server. Because simultaneous number of clients is high the blocking thread-per-request model is not appropriate (maybe im wrong ?).
My current approach consist of following steps 1. restlet that returns HTTP OK and custom representaion (extending OutputRepresentation) 2. representation has blocking queue inside it and in write() method register that queue inside media manager to be notified about media events that should be streamed to underlying client. 3. HTTP connection should not break and be permanent -> client should not reconnect after it got connected to server. 4. inside write() method of representation i'm performing blocking get from blockign queue to receive event from media manager that should be written to client's stream. So now i'm playing with jetty NIO connector paramters and can server about 200-250 requests but its no less thatn required. Can anyone give me some advice on designing the project to achieve requred scalability ? PS: I was trying to use Grizzly connector with approach described above but it was serving about 10 clients and not more. Also the Grizzly connector seems not having parameters to configure PPS: Im using restlet 2.0m3 -- Regards, Evgeny Shepelyuk ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2376958