大型Web网站架构演变之9大阶段
负载平衡器按照哀求的目标IP地点,找出该IP地点最近行使的“处事器组”,留意,并不是详细某个处事器,然后回收起码毗连数从该组中挑出详细的某台处事器出来,把哀求转发之。若该处事器超载,那么按照起码毗连数算法,在集群的非本处事器组的处事器中,找出一台处事器出来,插手本处事器组,然后把哀求转发。 3、集群哀求返回模式题目 1)、NAT 负载平衡器吸取用户的哀求,转发给详细处事器,处事器处理赏罚完哀求返回给平衡器,平衡器再从头返回给用户。 2)、DR 负载平衡器吸取用户的哀求,转发给详细处事器,处事器出来玩哀求后直接返回给用户。必要体系支持IP Tunneling协议,难以跨平台。 3)、TUN 同上,但无需IP Tunneling协议,跨平台性好,大部门体系都可以支持。 4、集群Session同等性题目 1)、Session Sticky Session sticky就是把统一个用户在某一个会话中的哀求,都分派到牢靠的某一台处事器中,这样我们就不必要办理跨处事器的session题目了,常见的算法有ip_hash算法,即上面提到的两种散列算法。
2)、Session Replication Session replication就是在集群中复制session,使得每个处事器都生涯有所有效户的session数据。
3)、Session数据齐集存储 Session数据齐集存储就是操作数据库来存储session数据,实现了session和应用处事器的解耦。
4)、Cookie Base Cookie base就是把Session存在Cookie中,由赏识器来汇报应用处事器我的session是什么,同样实现了session和应用处事器的解耦。
值得一提的是:
办理了以上的题目之后,体系的布局如下: 阶段四、数据库读写疏散化 上面我们老是假设数据库负载正常,但跟着会见量的的进步,数据库的负载也在逐步增大。那么也许有人顿时就想到跟应用处事器一样,把数据库一份为二再负载平衡即可。 但对付数据库来说,并没有那么简朴。若是我们简朴的把数据库一分为二,然后对付数据库的哀求,别离负载到A呆板和B呆板,那么显而易见会造成两台数据库数据不同一的题目。那么对付这种环境,我们可以先思量行使读写疏散和主从复制的方法。 读写疏散后的体系布局如下: ![]() 这个布局变革后也会带来两个题目:
办理方案:
阶段五、用搜刮引擎缓解读库的压力 数据库做读库的话,经常对恍惚查找力有未逮,纵然做了读写疏散,这个题目还未能办理。以我们所举的买卖营业网站为例,宣布的商品存储在数据库中,用户最常行使的成果就是查找商品,尤其是按照商品的问题来查找对应的商品。对付这种需求,一样平常我们都是通过like成果来实现的,可是这种方法的价钱很是大,并且功效很是禁绝确。此时我们可以行使搜刮引擎的倒排索引来完成。 搜刮引擎具有的利益:它可以或许大大进步查询速率和搜刮精确性。 引入搜刮引擎的开销
搜刮引擎并不能更换数据库,它办理了某些场景下的精准、快速、高效的“读”操纵,是否引入搜刮引擎,必要综合思量整个体系的需求。 引入搜刮引擎后的体系布局如下: ![]() 阶段六、用缓存缓解读库的压力 常用的缓存机制包罗页面级缓存、应用数据缓存和数据库缓存。 应用层和数据库层的缓存 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |