大型Web网站架构演变之9大阶段
发布时间:2019-05-11 13:50:04 所属栏目:建站 来源:程序猿的内心独白
导读:副标题#e# 前言 我们以Java Web为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 正文 阶段一、单机构建网站 网站的初期,我们经常会在
读写分离后的系统结构如下: ![]() 这个结构变化后也会带来两个问题:
解决方案:
阶段五、用搜索引擎缓解读库的压力 数据库做读库的话,常常对模糊查找力不从心,即使做了读写分离,这个问题还未能解决。以我们所举的交易网站为例,发布的商品存储在数据库中,用户最常使用的功能就是查找商品,尤其是根据商品的标题来查找对应的商品。对于这种需求,一般我们都是通过like功能来实现的,但是这种方式的代价非常大,而且结果非常不准确。此时我们可以使用搜索引擎的倒排索引来完成。 搜索引擎具有的优点:它能够大大提高查询速度和搜索准确性。 引入搜索引擎的开销
搜索引擎并不能替代数据库,它解决了某些场景下的精准、快速、高效的“读”操作,是否引入搜索引擎,需要综合考虑整个系统的需求。 引入搜索引擎后的系统结构如下: ![]() 阶段六、用缓存缓解读库的压力 常用的缓存机制包括页面级缓存、应用数据缓存和数据库缓存。 应用层和数据库层的缓存 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |