[Stackless] Stackless / Networking / Distributed Server

Marcus shutterbug at dwx.com
Tue Feb 20 07:46:46 CET 2007


I'm a relative newbie to Python (and stackless also). I currently have a 
server application written in C++ designed with IO Completion Ports and 
a thread pool. For various reasons I'm going to rewrite the server, and 
I'd like to do it in Python. In addition, rather than being one 
monolithic server, it will be split into a distributed cluster-like 
architecture, with various components communicating with each other over 
the 'net via TCP.

It's like an online game in some ways, but it's mostly like a large 
chat/communication hub; I'd like the distributed structure to be able to 
serve tens of thousands of clients.

I thought Stackless might be helpful in my project because the server 
would need to dosomething like this:

1. Receive client request (e.g. Login)
2. Server "frontend" begins handling message
3. During handling, server frontend would need to notify and communicate 
with other server nodes; procedural-style programming would be most 
straightforward for that type of procedure
4. Send response to client

Is stackless the right tool for the job? I know Eve Online has used it 
(and that's how I found Stackless in the first place), but after 
searching it appears that Stackless doesn't work well with networking 
right now (monkeypatching excepted); I've seen quite a bit of discussion 
about Stackless with networking and blocking issues, but I haven't been 
able to find what peoples' solutions were.

It appears that Twisted would be a good library to use, but it also 
doesn't play well with Stackless. I've seen posts by Andrew on this 
topic; has anyone found a production-quality solution to integrating those?

Basically I'm stuck right now because I'm not sure how to proceed. Would 
stackless be a good use for this process, or would it be better to stick 
with Twisted without stackless? Or is there sufficient progress on 
integrating the two that they'd both be beneficial?

Any suggestions or thoughts are appreciated.



Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list