“Share Nothing Architecture” redefined

Posted 6 April 2007 @ 12:27 pm by Nati Shalom

"Share Nothing Architecture" is a common pattern for scaling out Web applications.

Generally speaking, the idea is to remove dependency between the scaling units, which in the case of a Web application means the Web Servers. Once these units become independent from each other, you can easily scale them just by adding more units. You can then load-balance the incoming requests among the different Web Servers.

Due to lack of alternatives, common practice for making Web Servers independent was to remove the shared-state from the servers into a shared file system, assuming that it would scale.  Because of that, the thinking is that if your application is a service, and requires low-latency, this approach may not work.

Today we have better ways to remove data dependency, without putting the data into a shared file system — which may eventually become a bottleneck. We partition it and store it in-memory. Sounds familiar ?

So unlike the original definition, with the introduction of In-Memory-Data-Grids we can refer to "Shared Nothing Architecture" as architecture for scaling low-latency applications as well. Space-Based Architecture is one approach for implementing this in a high throughput/low latency environment.

Read more...

3 Responses to ““Share Nothing Architecture” redefined”

  1. Geva Perry's Blog Says:

    Extreme Transactions…

    In its April 23 issue, InformationWeek’s cover says: Extreme Transactions, which refers to the story entitled: Business At Light Speed Wall Street’s attempt to shave milliseconds off transactions pushes the limits of computer science.I won’t go into…

  2. The GigaSpaces Blog » Blog Archives » Designing a Scalable Twitter Says:

    [...] common pattern for keeping the web tier scalable is to use a Shared-Nothing Architecture, which basically means that the web tier will be stateless. This requires keeping the user session [...]

  3. Designing a Scalable Twitter 网站系统架构网摘 - 系统 架构 服务器 优化 网站 Says:

    [...] common pattern for keeping the web tier scalable is to use a Shared-Nothing Architecture, which basically means that the web tier will be stateless. This requires keeping the user session [...]

Leave a Reply