阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      大型网站核心架构中的"高伸缩性"设计方法

      什么是伸缩性

      所谓伸缩性:指通过不断向集群中加入服务器的手段,来缓解不断上升的用户并发访问压力和不断增加的数据存储需求;

      衡量好坏的标准

      • 是否可以用多台服务器构建集群
      • 是否容易向集群中添加新的服务器
      • 加入新的服务器后是否可以提供和原来的服务器无差别的服务
      • 急群众可容纳的总的服务器数量是否有限制

      对于应用服务器集群

      只要服务上不保存数据,所有服务器都是对等的,通过使用合适的负载均衡设备就可以向急群众不断加入服务器

      对于缓存服务器集群

      需要改进缓存路由算法保证缓存数据的可访问性

      • 加入新的服务器可能会导致缓存路由失效,进而导致集群中大部分缓存数据都无法访问;
      • 虽然缓存的数据可以通过数据库重新加载,但是如果应用已经验证依赖缓存,可能会导致整个网站崩溃

      数据库

      分为关系型数据和非关系数据库

      关系数据库

      虽然支持数据复制,主从热备机制,但是很难做到大规模集群的可伸缩性,因为关系数据库的集群伸缩性方案必须在数据之外实现,通过路由分区等手段将部署有多个数据库的服务器组成一个集群

      NoSQL 数据库

      由于先天就是为海量数据而生的,因为伸缩性支持都不错,可以做到较少运维参与的情况下实现集群规模的线性伸缩;

      目录
      目录