
获得徽章 0
赞了这篇沸点
赞了这篇沸点
赞了这篇沸点
坐标:济南
本人非程序员,经朋友介绍路经此地看能否找到另一半
女,88年,身高166,体重56,硕士
监狱系统公务员,
希望那个他成熟稳重大气又不失风趣,
本科学历以上,身高175以上,不要太胖。
本人非程序员,经朋友介绍路经此地看能否找到另一半
女,88年,身高166,体重56,硕士
监狱系统公务员,
希望那个他成熟稳重大气又不失风趣,
本科学历以上,身高175以上,不要太胖。
展开
57
23
赞了这篇沸点
赞了这篇沸点
我是一个C程序员,领导叫我去维护一个shell脚本,要求别删cache目录。我看了一下,原来写的是 rm -fr cache tmp 。我想这还不简单,上来就把cache注释掉:rm -fr /* cache */ tmp。完美!
4
18
赞了这篇沸点
常见缓存问题
## 缓存穿透
缓存穿透是指缓存没有发挥作用,业务系统虽然去缓存查询数据,但缓存中没有数据,业务系统需要再次去存储系统查询数据。
解决方案:设置默认值
## 缓存雪崩
缓存雪崩是指当缓存失效(过期)后引起系统性能急剧下降的情况。
解决方案:
**更新锁**
对缓存更新操作进行加锁保护,保证只有一个线程能够进行缓存更新,未能获取更新锁的线程要么等待锁释放后重新读取缓存,要么就返回空值或者默认值。
**后台更新**
由后台线程来更新缓存,而不是由业务线程来更新缓存,缓存本身的有效期设置为永久,后台线程定时更新缓存。
内存不够时,缓存被“踢掉”造成读取空值的解决方案:
1. 后台定时更新缓存
2. 业务发送消息提醒后台更新缓存
## 缓存热点
对于一些特别热点的数据,如果大部分甚至所有的业务请求都命中同一份缓存数据,则这份数据所在的缓存服务器的压力也很大。
方案:复制多份缓存副本,将请求分散到多个缓存服务器上
## 缓存穿透
缓存穿透是指缓存没有发挥作用,业务系统虽然去缓存查询数据,但缓存中没有数据,业务系统需要再次去存储系统查询数据。
解决方案:设置默认值
## 缓存雪崩
缓存雪崩是指当缓存失效(过期)后引起系统性能急剧下降的情况。
解决方案:
**更新锁**
对缓存更新操作进行加锁保护,保证只有一个线程能够进行缓存更新,未能获取更新锁的线程要么等待锁释放后重新读取缓存,要么就返回空值或者默认值。
**后台更新**
由后台线程来更新缓存,而不是由业务线程来更新缓存,缓存本身的有效期设置为永久,后台线程定时更新缓存。
内存不够时,缓存被“踢掉”造成读取空值的解决方案:
1. 后台定时更新缓存
2. 业务发送消息提醒后台更新缓存
## 缓存热点
对于一些特别热点的数据,如果大部分甚至所有的业务请求都命中同一份缓存数据,则这份数据所在的缓存服务器的压力也很大。
方案:复制多份缓存副本,将请求分散到多个缓存服务器上
展开
5
20
赞了这篇沸点
负载均衡分类
## DNS负载均衡
DNS 负载均衡的本质是 DNS 解析同一个域名可以返回不同的 IP 地址
优点:
- 简单、成本低
- 就近访问,提升访问速度
缺点:
- 更新不及时
- 扩展性差:DNS 负载均衡的控制权在域名商那里,无法根据业务特点针对其做更多的定制化功能和扩展特性。
- 分配策略比较简单:DNS 负载均衡支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载);也无法感知后端服务器的状态。
对于**时延和故障敏感**的业务,有一些公司自己实现了** HTTP-DNS** 的功能
## 硬件负载均衡
目前业界典型的硬件负载均衡设备有两款:**F5 和 A10**。
优点:
- 功能强大:全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡。
- 性能强大:对比一下,软件负载均衡支持到 **10 万级**并发已经很厉害了,硬件负载均衡可以支持 **100 万**以上的并发。
- 稳定性高:商用硬件负载均衡,经过了良好的严格测试,经过大规模使用,稳定性高。
- 支持安全防护:硬件均衡设备除具备负载均衡功能外,还具备防火墙、防 DDoS 攻击等安全功能。
缺点:
- 价格昂贵:最普通的一台 F5 ,价格也要数十万
- 扩展能力差
## 软件负载均衡
Nginx 是软件的 7 层负载均衡,LVS 是 Linux 内核的 4 层负载均衡。 4 层和 7 层的区别就在于协议和灵活性,Nginx 支持 HTTP、E-mail 协议;而 LVS 是 4 层负载均衡,和协议无关,几乎所有应用都可以做
软件和硬件的最主要区别就在于**性能**
优点:简单、便宜、灵活
缺点(与硬件比较):性能一般、不具备安全防护功能、功能一般
## DNS负载均衡
DNS 负载均衡的本质是 DNS 解析同一个域名可以返回不同的 IP 地址
优点:
- 简单、成本低
- 就近访问,提升访问速度
缺点:
- 更新不及时
- 扩展性差:DNS 负载均衡的控制权在域名商那里,无法根据业务特点针对其做更多的定制化功能和扩展特性。
- 分配策略比较简单:DNS 负载均衡支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载);也无法感知后端服务器的状态。
对于**时延和故障敏感**的业务,有一些公司自己实现了** HTTP-DNS** 的功能
## 硬件负载均衡
目前业界典型的硬件负载均衡设备有两款:**F5 和 A10**。
优点:
- 功能强大:全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡。
- 性能强大:对比一下,软件负载均衡支持到 **10 万级**并发已经很厉害了,硬件负载均衡可以支持 **100 万**以上的并发。
- 稳定性高:商用硬件负载均衡,经过了良好的严格测试,经过大规模使用,稳定性高。
- 支持安全防护:硬件均衡设备除具备负载均衡功能外,还具备防火墙、防 DDoS 攻击等安全功能。
缺点:
- 价格昂贵:最普通的一台 F5 ,价格也要数十万
- 扩展能力差
## 软件负载均衡
Nginx 是软件的 7 层负载均衡,LVS 是 Linux 内核的 4 层负载均衡。 4 层和 7 层的区别就在于协议和灵活性,Nginx 支持 HTTP、E-mail 协议;而 LVS 是 4 层负载均衡,和协议无关,几乎所有应用都可以做
软件和硬件的最主要区别就在于**性能**
优点:简单、便宜、灵活
缺点(与硬件比较):性能一般、不具备安全防护功能、功能一般
展开
评论
2