Divide and Conquerer

I listened to Randy Shoup at QCon. Randy works in the architecture team at eBay. The thing that I was impressed by with his presentation was the “just-the-facts-and-nothing-but-the-facts” approach and the complete lack of buzzwords and product talk. It was like listening to a really good and concise O’Reilly book. Although I didn’t learn anything new from listening to Randy, it’s always good to get a distilled and well-presented summary of what really works regardless of technology fads.

Partition everything! Partition your system (“functional split”) and your data (“horizontal split”). It doesn’t matter what tool or technology you use. If you can’t split it you can’t scale it. Simple as that. Regardless if you’re using a fancy grid solution or just multiple databases.

Use asynchronous processing everywhere! If you have synchronous coupled systems they scale together and fail together. The least scalable system will limit scalability and the least available system will limit your uptime. If you use asynchronous, decoupled, systems then the system can scale independently of each other.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s