http://www.imooc.com/article/17545
因为 80% 的业务访问都集中在 20% 的数据上,也就是我们经常说的28法则。如果我们能将这部分数据缓存下来,性能一下子就上来了。
而缓存又分为两种:本地缓存和远程缓存缓存,以及远程分布式缓存,我们这里面的远程缓存图上画的是分布式的缓存集群(Cluster)。
增加了负载均衡,服务器集群之后,我们可以横向扩展服务器,解决了服务器处理能力的瓶颈
使用负载均衡,对session管理带来的挑战及其对策:
Session管理-Session Sticky粘滞会话:
打个比方就是如果我们每次吃饭都要保证我们用的是自己的碗筷,而只要我们在一家饭店里存着我们的碗筷,只要我们每次去这家饭店吃饭就好了。
Session管理-Session 复制
就像我们在所有的饭店里都存一份自己的碗筷。我们随意去哪一家饭店吃饭都OK,不适合做大规模集群,适合机器不多的情况。
Session管理-基于Cookie
打个比方,就是我们每次去饭店吃饭,都自己带着自己的碗筷。
解决了我们session共享的问题,但是它有什么缺点呢?
- cookie 的长度限制
- cookie存于浏览器,安全性是一个问题
Session管理-Session 服务器
打个比方,就是我们的碗筷都存在了一个庞大的橱柜里,我们去任何一家饭店吃饭,都可以从橱柜中拿到属于我们自己的碗筷。
数据库读写分离
使用数据库提供的热备功能,将所有的读操作引入slave 服务器,因为数据库的读写分离了
使用反向代理和 CDN 加速网站响应
使用 CDN 可以很好的解决不同的地区的访问速度问题,反向代理则在服务器机房中缓存用户资源。
数据库的垂直拆分—>数据水平拆分