Sounds like it was built using one of Gemstone's ubiquitous object frameworks (easier to say than their buzzword laden description).<br> <br>(kind of) described here: <a href="http://www.vimeo.com/1147409">http://www.vimeo.com/1147409</a><br>
<br><br><div class="gmail_quote">2008/7/10 Adam Lindberg <<a href="mailto:adam@erlang-consulting.com">adam@erlang-consulting.com</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Just read this interesting piece on Twitter vs GupShup (the de-facto micro blogging service in India):<br><a href="http://anand.typepad.com/datawocky/2008/06/indias-sms-gupshup-has-3x-the-usage-of-twitter-and-no-downtime.html" target="_blank">http://anand.typepad.com/datawocky/2008/06/indias-sms-gupshup-has-3x-the-usage-of-twitter-and-no-downtime.html</a><br>
<br>From the article:<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">I'll let the numbers speak for themselves:<br><ul><li><b>
Users:</b> Twitter (1+ million), SMS GupShup (7 million)</li><li><b>Messages per day: </b>Twitter (3 million); SMS GupShup (10+ million)</li></ul></blockquote><br>This passage struck me as sounding like it is built on Erlang, or at least Erlang principles (my emphasis):<br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">GupShup also uses an object architecture (called the "objectpool") which allows each task to be componentized and run separately - this helps immensely with <i>reliability</i> (can automatically handle machine failure) and <i>scalability</i> (can scale dynamically to handle increased load). The objectpool model allows each module to be run as <i>multiple parallel instances</i> - each of them doing a part of the work. They can be run on <i>different machines</i>, can be <i>started/stopped independently</i>, without affecting each other. So the "receiver", the "sender", and the "ad server" all run as multiple instances. As traffic scales, they can just add more hardware -- no re-architecting. If one machine fails, the instance is restarted on a different machine.</blockquote>
<div><br>Sounds like a perfect fit for Erlang. Should be less lines of code too, I presume. Would it be faster, though?<br></div><br>Cheers!<br><font color="#888888">Adam
</font><br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br></blockquote></div><br><br clear="all"><br>-- <br>An idea that is not dangerous is unworthy of being called an idea at all. -- Oscar Wilde