A consequence of Service Oriented Architectures is the burning need
to provide services at scale. The architecture that has evolved to
satisfy these requirements is a little known technique called the Cell
Architecture.
A Cell Architecture is based on the idea that
massive scale requires parallelization and parallelization requires
components be isolated from each other. These islands of isolation are
called cells. A cell is a self-contained installation that can satisfy
all the operations for a shard. A shard is a subset of a much larger dataset, typically a range of users, for example.
Cell Architectures have several advantages:
- Cells provide a unit of parallelization that can be adjusted to any size as the user base grows.
- Cell are added in an incremental fashion as more capacity is required.
- Cells isolate failures. One cell failure does not impact other cells.
- Cells provide isolation as the storage and application horsepower to process requests is independent of other cells.
- Cells enable nice capabilities like the ability to test upgrades, implement rolling upgrades, and test different versions of software.
- Cells can fail, be upgraded, and distributed across datacenters independent of other cells.
http://highscalability.com/blog/2012/5/9/cell-architectures.html
http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html
http://highscalability.com/flickr-architecture
http://highscalability.com/blog/2011/5/17/facebook-an-example-canonical-architecture-for-scaling-billi.html
http://developer.force.com/dreamforce/09/session/backstage_pass:a_look_inside_the_force_com_infrastructure
0 komentar:
Posting Komentar