News for hackers. Stuff that matters.
Re:Introducing Rubinius X by mikeryan on Tuesday October 15, 2013 @01:51PM (#6554988)
This is a pretty horrible example. Twitter is a real time communications platform and even ignoring scale its not the right choice for Twitter. I doubt there's many folks at all in the Rails community who would say that Rails is the right stack for Twitter.
Re:Introducing Rubinius X by spullara on Tuesday October 15, 2013 @02:26PM (#6555297)
The front end is just a bunch of calls to services and HTML rendering from templates. It really has nothing to do with real time communication.
Re:Introducing Rubinius X by Argorak on Tuesday October 15, 2013 @02:37PM (#6555358)
Except that little thing that shows you new tweets immediately...
Re:Introducing Rubinius X by vidarh on Wednesday October 16, 2013 @09:47AM (#6559577)
That "little thing" which maintains and generates the timeline should be IO bound whether it's written in C or Ruby unless it's written by someone who does not understand the problem space, and ought to be a separate service. We can agree Rails doesn't make much sense for it, but frankly, language does not matter. Understanding how to minimise context switches for a network service and how handle fan-out does. It's not a hard problem - it's been solved dozens of times over by people writing queueing message servers, NNTP servers and SMTP servers, amongst others.
Re:Introducing Rubinius X by Argorak on Wednesday October 16, 2013 @10:24AM (#6559790)
I don't disagree with any of your points. I just disagree with the assumption that twitter frontend is something static with no time-related components.
Re:Introducing Rubinius X by vidarh on Thursday October 17, 2013 @05:13AM (#6564306)
The frontend should be. It is folly to handle things like the timeline update there, where it is time sensitive, rather than as a backend process that is not - nobody will notice if their timeline is a few seconds out of date. They will notice if it takes more time for the pageload to complete.
Re:Introducing Rubinius X by spullara on Tuesday October 15, 2013 @06:59PM (#6556922)
That is just polling essentially the same endpoint that renders the page.