http://www.imooc.com/article/17545
    因为 80% 的业务访问都集中在 20% 的数据上,也就是我们经常说的28法则。如果我们能将这部分数据缓存下来,性能一下子就上来了。
    而缓存又分为两种:本地缓存和远程缓存缓存,以及远程分布式缓存,我们这里面的远程缓存图上画的是分布式的缓存集群(Cluster)。
    增加了负载均衡,服务器集群之后,我们可以横向扩展服务器,解决了服务器处理能力的瓶颈
    使用负载均衡,对session管理带来的挑战及其对策:
    大型项目架构演进过程及思考的点 - 图1
    Session管理-Session Sticky粘滞会话:
    图片描述
    打个比方就是如果我们每次吃饭都要保证我们用的是自己的碗筷,而只要我们在一家饭店里存着我们的碗筷,只要我们每次去这家饭店吃饭就好了。
    Session管理-Session 复制
    图片描述
    就像我们在所有的饭店里都存一份自己的碗筷。我们随意去哪一家饭店吃饭都OK,不适合做大规模集群,适合机器不多的情况。
    Session管理-基于Cookie
    图片描述
    打个比方,就是我们每次去饭店吃饭,都自己带着自己的碗筷。
    解决了我们session共享的问题,但是它有什么缺点呢?

    1. cookie 的长度限制
    1. cookie存于浏览器,安全性是一个问题

    Session管理-Session 服务器
    图片描述
    打个比方,就是我们的碗筷都存在了一个庞大的橱柜里,我们去任何一家饭店吃饭,都可以从橱柜中拿到属于我们自己的碗筷。
    数据库读写分离
    使用数据库提供的热备功能,将所有的读操作引入slave 服务器,因为数据库的读写分离了
    使用反向代理和 CDN 加速网站响应
    使用 CDN 可以很好的解决不同的地区的访问速度问题,反向代理则在服务器机房中缓存用户资源。
    大型项目架构演进过程及思考的点 - 图6
    大型项目架构演进过程及思考的点 - 图7
    大型项目架构演进过程及思考的点 - 图8
    数据库的垂直拆分—>数据水平拆分