大型应用开发的各种可伸缩性解决方案相似之处

在数据层我们看到如下特征:

  1. 增加一个缓存层以利用可用内存资源并减少I/O开销
  2. 从中央数据库方式转向分区方式,也称为shards(注:shards 是google贡献给hibernate的一个项目,目标是通过hibernate在多重数据库上提供一个统一的视图。)

在业务逻辑层:

  1. 给应用层增加并行语义(如MapReduce、for...join)
  2. 转向向外扩展(scale-out)应用模型以达到线性可伸缩性
  3. 远离经典的两阶段提交和XA事务处理(参见:来自Pat Helland的教训:生命超越于分布式事务)

物里层:

    1.集群,这是提高ScalabilityHigh Availability 的最直接用药。

你可能感兴趣的:(大型应用开发的各种可伸缩性解决方案相似之处)