3 ms·
Distributed Systems with ZeroMQ and Gevent (Presentation)
- boothead 14y agoSlides here: https://raw.github.com/strangeloop/2011-slides/master/Lindsay-DistributedGeventZmq.pdf https://raw.github.com/strangeloop/2011-slides/master/Lindsa... Well worth a read and they also lead me to https://github.com/progrium/ginkgo https://github.com/progrium/ginkgo which looks like some very abstractions for building services like the ones on the talk.
- fzzzy 14y agoExcellent talk. I'm really excited that somebody else besides me is advocating the cooperative switching async approach for other languages besides python with greenlet. I've been trying to get something going for JavaScript on top of spidermonkey, but it's been slow going. A few hacks are available in my github. Some of them use spidermonkey's generators to cooperate, and this approach will have the same drawbacks this approach has in python, but this hack with python-spidermonkey and greenlet is pretty sweet: https://github.com/fzzzy/js-actors https://github.com/fzzzy/js-actors python-spidermonkey is on a really old version of spidermonkey, unfortunately. Also, node-fibers looks totally sweet: https://github.com/laverdet/node-fibers https://github.com/laverdet/node-fibers Lua has coroutines built in, so I'm guessing this kind of stuff is common there. I haven't used lua much, though. Ruby also has cooperative userland threads that could be used to implement a cooperative async lib. I always wondered why nobody did. I would have, if I had ever decided to get heavily into ruby.
- progrium 14y agoYes! I don't understand why this hasn't happened in Ruby yet either. It seems like one of the ideal next places for it to blow up. A coworker is building up to it, but he's yak shaving by implementing good libuv bindings first. :\