No. 1 Story

ACCC clears Optus to scrap HFC network and use NBN instead

The ACCC has cleared, provisionally, the proposed deal between Optus and NBN Co under which Optus is to be paid around $800m to shut down its HFC network and transfer customers onto the NBN. read more

What Twitter can teach about highly reliable and scalable web apps

IT Industry - Market

The third step on Twitter’s five-step program to good web site reliability is to cache the hell out of everything. Quite literally. Don’t actually perform a database read unless you absolutely must. Originally, Twitter had no caching. Now it has an unbelievable 16GB of memory cached data.

Fourth, scale messaging. By this Twitter mean messages flow through its system like blood pumps through a body.

Certain components of Twitter, called producers, produce messages. These messages are queued and distributed to consumers, processes that act on these messages.

Let’s give an example: a Twitter use can remove all their friends. Rather than perform this action on each individual friend, in a synchronous manner, Twitter will send a message to make this happen in the background.

So, not everything that takes place in Twitter happens then and there but as a result the site offers far greater responsiveness to end user actions.

The messages can take place in their own time, on different servers, and be treated as their own separate scaling problem because they have been effectively disassociated from the user interface.

Last, deal with abuse. That doesn’t mean abusive users who are complaining Twitter is slow but rather users who are doing crazy things like trawling the site and adding every person as a friend, most likely for the purpose of spamming.

Here the advice from Twitter is to build tools to detect these problems. Then you can pinpoint when and where they happen. As to the solution? Blaine says just be ruthless. Delete these people as users. You don’t want them.

That’s the guts of it. That’s how Twitter solved their problems and give food for thought for anyone else seeking to produce the next great web app which stands up to stampedes of interested users.