聊聊微服务架构中的雪崩效应及其解决方案

聊聊微服务架构中的雪崩效应及其解决方案,第1张

在大型互联网站建设过程中,网站的性能都是受服务器主机性能约束的,比如CPU、GPU、RAM等硬件设备。由于当前计算机硬件技术的支持有限,高性能服务器的成本巨大,我们在网站搭建过程中,需要通过软件手段来控制网站雪崩效应,Hystrix可以帮我们保护服务,实现网站的高可用性。

比如同时有10000个用户提交订单,由订单服务order的submitOrder()去处理,订单服务order所在的服务器主机配置很低,tomcat线程池最大数设置为20。每个请求占用一个线程,使用完毕后才会释放,那么线程池的线程会被全部占用,剩下的请求进入缓存队列,排队等待线程分配。如果这种等待时间过长,会产生如下可能问题:

服务器优化技术主要有分布式缓存、异步操作、使用集群以及代码。

网站性能优化第一定律:优先考虑使用缓存优化性能。

缓存原理

(1)什么是缓存?(将数据存储在相对较高访问速度的介质中,以供系统处理)

(2)缓存的优点:访问速度快,如果需要计算可以减少计算时间

(3)缓存的本质是一张以键值对存储的内存hash表

(4)主要用来存储:读写比例高,很少变化的数据

(5)网站的访问遵循28定律

合理使用缓存应该注意以下问题

(1)频繁更新的数据(数据还没有读就已经失效,一般要求读写比在2:1以上才有意义)

(2)没有热点数据(无疑浪费资源)

(3)数据不一致与脏读(缓存被加载的过程中可能会产生数据不一致,有效时间过程数据在内存中就会变成脏数据)

(4)缓存的可用性(如果太过依赖缓存,容易产生雪崩。使用缓存热备并不能提高缓存的可用性,使用集群可以提高可用性)

(5)缓存预热(LRU计算时间过长,有的数据需要提前加载)

(6)缓存穿透(解决部分数据无法命中,而加重数据库压力的问题,一般设置空值)分布式缓存架构

(1)JBoss Cache:数据相同

(2)Memcached:数据不同互不通信

(3)Memcached5大优点:协议简单、通用性强(支持各种语言)、Libevent网络通信、内存管理高效、互不通信。

Vagaa(哇嘎)是一套由中国大陆公司开发、基于eDonkey及BitTorrent网络协议的点对点(P2P)软件,主要用于下载大型的电影、游戏或电视剧档案,又或是网络环境比较复杂,例如透过NAT、NAPT等协议的网接环境。

根据哇嘎的网站介绍,这套软件“致力于对等互联网的建设和运营,帮助大众享受宽带互联网所带来的便利和快捷。无论是电影、音乐、动漫还是游戏、电视节目,只要下载并安装Vagaa哇嘎(即Vagaa哇嘎画时代),您的电脑将变成通连全球的互动娱乐中心。”

它利用了特别的软件路由程序库,使上传及下传的速度得以加快,即使双方用户都在NAT环境;而Vagaa的附带搜寻功能亦很强劲,亦支援多语环境。

扩展资料:

vagaa主要问题:

1、上传和下载严重不对等,违背P2P精神。Vagaa只有在下载的时候才会进行有限的上传,而且上传数据量远远少于下载数据量,也就是大家通常说的吸血骡。

2、违背GPL协议,不开放源代码。Vagaa是在一个遵循GPL协议开放源代码的软件Shareaza的基础上进行修改的,根据GPL协议的要求,对他人的开源软件进行修改后发布新软件,必须也要同步开放源代码。而Vagaa始终拒绝开放源码!

3、“雪崩效应”,在连接服务器和使用服务器进行搜索方面的设计存在缺陷,极大加重服务器负担。Vagaa对主流的服务器,如DonkeyServerNO1,BigBang9等进行特别照顾,一经连接成功就频繁对服务器进行检索,如果连接不成功则将频繁进行连接,直至服务器不堪重负。

4、拒绝表明软件真实版本,伪装成其它软件版本以欺骗服务器和用户。Vagaa曾经以本名进入过P2P世界,一度采用了eMule compat v0.40这个虚假的版本号,这个版本流传很广。新版本的Vagaa把版本信息伪装成eMule 0.47a。

5、屏蔽他人的标签,同时伪造自己的标签。新版Vagaa的用户,用户名前面会自动加上[CHN][VeryCD]的标签,试图把自己假扮成VC版eMule的用户,然而,当它连接到VC版eMule用户时,却会自动屏蔽掉对方用户名称中的[VeryCD]标签。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/121841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-14
下一篇2023-03-14

发表评论

登录后才能评论

评论列表(0条)

    保存