网站架构发展

一、网站的服务器
    1、把 文件放在高磁盘性能的服务器上
    2、把 数据库放在高CPU性能服务器上
    3、 应用服务器采用分布式
    4、 负载均衡服务器进行调度(可分布式)

二、横向扩展 应用服务器解决session共享问题:
    1、 每一个请求通过负载均衡调度过后去往一个对于的服务器(可以通过hash(ip)来决定去哪个服务器,这样一来每次请求都能有自己的session
       缺点:如果一个服务器重启了,上面的session会全部消失
    2、 session复制,在每个服务器上相互复制session
       缺点:会占用大量的服务器内存
    3、 带上cookie
       缺点:cookie长度有限制,cookie存在本地浏览器上,安全问题
    4、 独立的session服务器
,所有的应用服务器都从session服务器上寻找对应的session 
       缺点:对session服务器的要求过高,可以采用分布式session服务器

三、 数据库服务器的优化:
    (1)数据库 读写分离
         1、把写操作全部引入主数据库服务器
         2、把读操作引入从服务器
         3、在应用服务器中编写模块来分离读写操作
这样一来就减少了代码的侵入,使底层的代码不需要考虑这方面的问题 
    (2)等上面的解决方法又出现瓶颈时:
         把不同的属性,如产品、用户、订单分别放在不用的数据库服务器中
         注意点:出现跨库的事务
         解决方法:采用 分布式事务 或 用其他方法替代事务
    (3)当一个表中的数据数量过多已经达到单个服务器的限制时:
         1、数据库的水平拆分问题:主键的策略问题、分页的问题、增加CDN 和 反向代理服务器

四、 文件服务器的优化: 分布式文件服务器集群

五、 应用服务器的优化:
    1、把搜索功能独立出来到一个搜索服务器
    2、采用NoSQL优化性能

猜你喜欢

转载自blog.csdn.net/zhulurensheng/article/details/79112934