分布式存储架构快存储的优点(分布式存储的体系结构是怎么样的)
582
2022-05-30
WEB架构的演变
分布式、集群我想大家都听说过,那么这个东西是怎么转换来的呢?
今天我们来聊一聊WEB架构的演变。
假如我们要搭建一个购物网站,最初我们只有一台服务器,很快我们发现服务器资源不够用,怎么办呢?
简单来说,就是将同一台服务器上的webserver和数据库分散到两台服务器。
你想一下,用户访问我们的页面,如果每次访问要经常去查询数据库的话,这要消耗多少资源。所以我们要尽可能多静态页面,并将页面缓存。
动态缓存有asp(.Net)、jsp ( Java ) 这些东西。
用户访问这些页面,比如访问一个jsp页面,它是将Java代码翻译成Html页面。你想一想如果每次访问都要翻译一次,这对服务器资源的消耗比较大。所以要将其缓存,但是页面动态缓存和静态页面的缓存是不一样的,可以使用Freemarker来处理。
就是将数据库查到的数据进行缓存。我们接下来简单说一下数据缓存。数据缓存可以使用redis和memcache。
我们要将百分百确定很多人会用的数据将其缓存。
增加了一台网站服务器就会发生这种情况:第一次登陆进入的是服务器A,去数据库访问了一次,而第二次登陆进入的却是数据库B,又得访问数据库。要想解决这个问题,我们就要使用memcache,其实就是通过分布式session共享来实现。
其实这个就是负载均衡。
如果数据库访问量大到一定程度,我们就要增加数据库,也就是分库。MySQL本来就是支持分库的,就是使用MySQL主从架构。
为什么要分表呢?因为一个表过大了会在某些操作时影响效率。
我们可以用Hash来进行分表。
有水平分表和垂直分表两种操作。
DAL就是定义数据库分发请求规则。根据规则来存数据和取数据。
如果要缓存的数据量很大,我们就使用分布式缓存,用redis集群来缓存。
如果还不行,就继续增加web服务器吧。
什么叫读写分离?我们数据库无非是两种操作,读和写。我们让主从分离的数据库中主数据库进行增删改,而从数据库进行查的时候多一点。
什么叫廉价的存储方案?其实就是一群小鱼吃大鱼。
如果还需要扩展应该怎么办呢?
我们就要熟悉业务逻辑,从需求层面上取拆分。
web前端 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。