[Stackless] Stackless / Networking / Distributed Server
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