服务器分布式方案

文本属于心得和总结,仅供参考。

 

  • 单服务器转分布式服务器的注意点:
  1. session是保存在当前请求的服务器下,不能直接实现分布式方案。解决方案:使用redis缓存等。
  2. 当前请求的服务器生成的数据缓存、文件等,同样在每一个分布式的服务器 都会生成数据缓存、文件,导致数据不统一。这种程序也是不能直接实现分布 式方案。解决方案:所有服务器挂载共享磁盘上。
  3. 减少服务器的差异,随时增减服务器都不会影响。

 

 

 

 

  • 多个接入层服务器(接入层)
  1. 多个机房,每个机房部署一个集群,每个集群一个LVS(Linux虚拟服务器)。一个LVS,每天可以承受1亿次访问量。
  2. 智能DNS会为用户解析到最近的、最合适的、对应网络运营商的、网速最快的LVS。
  3. 部分接口(例如活动入口验证等)、静态页面、图片、静态资源缓存在CDN(区域节点)。
  4. CDN节点多,网络覆盖面广、速度更快,CDN本身也有内容缓存。
  5. 利用好CDN能大大减轻服务器的压力,但CDN的带宽一定要足够。

 

 

  • 什么是LVS?

LVS(Linux虚拟服务器),主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。

 

 

  • 多Web服务器 —— 单数据中心(web服务层)
  1. 动态页面生成、数据处理、逻辑代码。
  2. LVS后端挂载多个web服务器,规模最好在2~10不等。
  3. 单数据中心,开发、维护更简单,数据一致性有保证。
  4. 跨机房访问时,网络问题会比较突出,要有光纤专线带宽保障。

 

 

 

  • 多Web服务器 —— 多数据中心 (web服务层)
  1. 解决了单数据中心的跨机房访问的网络问题
  2. 每个数据中心就是一个独立的服务器集群。
  3. 多数据中心,数据同步,数据一致性的开发难度提高。

解决方案:引入中控服务器,中控服务器专门用于调配多数据中心的数据,保证数据的同步。

 

 

  • 服务器规模预估
  1. 数据量:订单量、用户量等
  2. 访问量:全流程的请求数量,每次请求的速度
  3. 资源量:CDN、服务器带宽、Web服务器、数据库、redis数量。