网站架构

大型网站的特点:

1.海量数据  2.用户多  3.高并发  4.大流量  5.需求变更快  6.安全环境恶劣  7.渐进式发展

初级网站的发展过程:

一台服务器->(随着数据的增加)分成应用服务器与数据服务器->(增加数据)产生缓存(存在应用服务器与dbserver之间)->数据逐渐增大(产生集群)

缓存是把数据存储相对I/O操作较快的介质中

CDN内容分发网络(目的优化)

布属在网络运营商的机房里,本质是缓存

优点:提高效率,提高了用户体验度

缺点:增加了费用

缓存的意义:不经常改变,高读写比的热点

劣势:脏读  缓存预热 缓存穿透

八二原则 (80%的访问量落在了20%的页面)

分布式缓存:

代表:memcache的优点

1.简单的通信协议

2.丰富的客户端程序

3.高性能的网络协议libevent支持事件触发的网络通信程序库

4.高效的内存管理

六种负载均衡算法

 1、轮询法
 2、随机法  
 3、源地址哈希法
 4、加权轮询法
 5、加权随机法  
 6、最小连接数法


互不通信的服务器集群架构
缓存穿透:一般的缓存穿透是按照Key去查找对应的value,如果对应的value不存在的话,那么就去数据库进行查找,但是这个对应的 value一定不存在的话,那么key并发量很大的话,就会直接访问数据库,这就叫缓存穿透。
解决的方法:
对查询的结果也进行缓存,缓存的时间设置的短一点,或者放到一个大的Bitmap中,查询时通过bitmap过滤。

缓存雪崩:
当缓存服务器重启或者大量缓存集中在一个时间段失效,这样在失效的时候,也会给后端系统带来很大的压力。
解决方法:
1.在缓存失效后,通过加锁或者队列来控制数据库写缓存的数量。
2.不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀点。

脏读,不可重复读,幻读:
脏读:当一个事务在进行对数据库的修改,但是修改还没有提交到数据库,这时另一个事务也访问这个数据,然后使用了这个数据。

不可重复读:当一个事务之内多次读取同一个数据,在这个事务还没有结束时,另外一个事务也访问同一数据,那么在第一事务在两次访问数据中,第二事务的修改,那么第一事务两次读到的东西是不一样的,因此成为不可重复读。

幻读:第一个事务对一个表中的数据进行了修改,这种修改涉及到全部数据,但是在修改的过程中,第二个事务在中插入了一条新数据,那么就会发现这条数据没有被修改,就好像发生了幻觉一样,称之为幻读。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值