科百科
当前位置: 首页 科技资讯

应用接口网络连接超时错误率0.01%(百万级别的连接超时处理)

时间:2023-05-31 作者: 小编 阅读量: 2 栏目名: 科技资讯

而且在map里面淘汰一个元素,可能会涉及到锁的问题,有一定的并发风险。也可以是用户的客户端或者网页进行上报,检测自身多久没有活跃之后告诉服务器自身已经不活跃了。

业务场景:

如果我们用过一些在线客服系统,常常会遇到这样的问题。如果我们3分钟没有跟客服对话了,那么就会弹出一条消息跟你说,你3分钟没有会话了,已经自动离线了。

首先学习一个东西我们要了解这个东西背后的原因,这种产品逻辑主要有2个好处:

1.减少客户端/用户跟服务器的链接,减少服务的压力。一般我们一个机器也就维护几十万的长连接,很多用户都是咨询完不立马关掉窗口的,如果我们一直保持长连接,很消耗机器的性能。

2.更方便于客服资源的分配,例如一个在线客服可能最多同时接待20个用户,及时地发现不活跃的用户,有利于提高在线客服的接待效率。(万恶的资本家)

方案:

从开发人员的角度看来,这个叫做链接超时。实现这个功能,我们一般有下面几种不同的方案:

1.我们创建一个定时器,用一个map<用户,最后登录时间>来存储所有的用户最活跃的时间,每隔1秒钟检查所有所有的用户,判断用户上一次活跃的时间距离当前时间是否超过3分钟,如果已经超过3分钟,那么就将这个用户淘汰,标记为不活跃。这种实现的优点是实现简单,逻辑也非常简单,缺点是每次都需要轮询,效率太低。而且在map里面淘汰一个元素,可能会涉及到锁的问题,有一定的并发风险。

2.第二种,我们对每一个用户创建一个定时器,到了对应时间再来检查这个用户是否还是活跃的。虽然我们提升了效率,但是消耗的资源也是巨大的,非常容易把机器拖垮,最不建议采用。

3.第三种,创建1个定时器效率低,每个用户创建1个资源要消耗太大,有没有折衷的方案呢?那就是一批用户创建一个定时器。方案一因为每次都要扫描所有的用户,所以造成很大的浪费,所以我们可以按照用户上一次活跃的时间来做分组,同一个时间点活跃的用户在同一个结点里面,这样子,我们每次扫描的时候,就只须枚举对应时间点的用户了,假设超时时间是3分钟,新算法的计算的量只要原来的一百分十分之一。我们可以再通过环形队列进行优化,可以代码更容易编写,还能减少一些中间状态造成内存浪费。

4.第四种,我们采用客户端上报的方式,跟用户聊天的客户人员每个一段时间进行上报,告诉服务器哪些用户已经很久没活跃了,可以断开链接了。也可以是用户的客户端或者网页进行上报,检测自身多久没有活跃之后告诉服务器自身已经不活跃了。当然,客户端上报看起来挺不错的,又节省资源又没复杂的算法,但服务端可能会上报失败,例如程序被用户关闭之类的,所以这种方法我们这个更多的是作为优化的手段。

总结:

好了,上述就是我们讲的客服系统一些超时的常用方法,里面提到的环形队列,如果你有兴趣,可以关注我,下次我们再一起讲讲这个东西在各种架构的应用。

    推荐阅读
  • 太荒初境柯栎锤龙位置介绍

    太荒初境柯栎锤龙位置在哪?很多玩家还不清楚这个怪的位置在哪里,其实大荒就有,只是比较的稀少,刷新的不是很多,下面一起来看一下本站小编带来的太荒初境柯栎锤龙位置介绍。玩家需要击杀柯栎锤龙这个怪,才有可能掉落素材。大荒左上角有,左上角有有个山丘,沿着路一圈都是,运气好一圈下来能整10个。该攻略收集整理自网络,如果您是原作者需要署名,请联系我们。

  • 阐述风水在阳台装修中的注意事项(阐述风水在阳台装修中的注意哪些事项)

    阐述风水在阳台装修中的注意事项阳台不能面对大门。在不影响生活动作的前提下,厨房四个阳台之间放一个屏风或柜子作为隔断。尖角的出现不利于房屋的运输,要尽可能避开或请风水大师根据房屋具体情况进行化解。如果窗户正好遇到直,这样的格局和气场对居民的运势非常不利。而且容易被噪音干扰,不利于健康。最好的办法是去掉阳台,与客厅、厨房、卧室等融为一体,然后做隔断和隔音处理。

  • 芋圆怎么做才又滑又q弹(你学会了吗)

    下面内容希望能帮助到你,我们来一起看看吧!芋圆怎么做才又滑又q弹我们在制作芋圆时首先要将香芋、红薯等食材煮烂,然后放入碗中捣成泥。并要趁热分次加入木薯粉,木薯粉和食材的比例要控制在1:2,并且可以在比较干的食材里适量加点温水。然后将食材和木薯粉充分的揉合在一起,要保证最后的面团不粘手,但也不能太干。然后将面团搓条、切段并撒上一层淀粉防粘,然后开水下锅煮熟,最后将它捞起并冷水过凉,这样就可以了。

  • 街霸2为什么那么经典(街霸2原型大收集)

    但在某次侦查时,李万青神秘失踪,香港警方万般无奈,于是,派李红龙前往日本横滨调查。红龙抵达日本,得知哥哥的失踪与商人角崎重臣有关。角崎以普通商贸作掩护,暗中进行毒品走私活动,手下更豢养一批来自世界各地不同流派的格斗高手。得知红龙到来,角崎派出爪牙追杀。1681年,德川幕府的第一代将军德川家康的女婿池田辉政又重建城堡并扩大成今日的规模,一直完美保存至今。

  • 乔振宇古装四大美人(乔振宇所扮演的古装角色第一波)

    《新女驸马》是根据民间黄梅戏《女驸马》改编拍摄的电视剧,于2001年出品,2003年正式播出。平心而论,剧中乔振宇饰演的东方胜也许不如《雪花女神龙》的欧阳明日出名。《七剑下天山》天山七剑之首、天山派第一代掌门凌未风。而《浣花洗剑录》之后,谢霆锋、乔振宇、钟欣潼等人都各自飞黄腾达《少年讼师纪晓岚》反派角色杨乃文。杨乃文在剧中眉清目秀,玉树临风,英俊潇洒的清装扮相,完全不像杀人犯。

  • 怎样清理微信朋友圈读过的内容(如何删去微信朋友圈里面的内容)

    怎样清理微信朋友圈读过的内容?其实很简单,下面我们就来看看有哪些方法吧,接下来我们就来聊聊关于怎样清理微信朋友圈读过的内容?怎样清理微信朋友圈读过的内容微信朋友圈随着微信使用人群的越来越多,很多的微商、各种链接、活动等等都大量涌入其中,真的很令人心烦,那么我们怎么清理或者删除这些朋友圈呢?

  • 虎头蜂,是什么 虎头蜂是什么样子的

    “虎头蜂”是大型胡峰的俗称,因为胡蜂的头大像老虎,且非常凶猛。虎头蜂是完全变态发育昆虫,要经历卵、幼虫、蛹、成蜂四个阶段,是典型的社会性昆虫,每群蜂均由雌蜂、雄蜂和职蜂组成。

  • 路由器连接了光猫无法正常使用(路由器常见故障及解决方法)

    路由器连接了光猫无法正常使用目前三大运营商的宽带用户规模早已超过4亿户,平均算下来几乎每家每户都安装了固网宽带。如果左邻右舍都是这种状态就是大面积的故障,只能等运营商代维处理,稍后就会恢复正常。设备不在线联系代维换设备,设备掉电重启光猫后还是闪换设备,数据没正常下发还是联系代维。如果指示灯全部正常,这就是掉线,掉线频繁联系代维换设备。

  • 牛肉粉毛利达到多少才合理(餐饮知识-嫩肉粉)

    餐饮知识-嫩肉粉嫩肉粉又称嫩肉晶,其主要作用在于利用蛋白酶对肉中的弹性蛋白和胶原蛋白进行部分水解,使肉类制品口感达到嫩而不韧、味美鲜香的效果由于其嫩化速度快且效果明显,因此目前已广泛应用于餐饮行业但一些师傅对它仍然心。

  • 2022沧州肃宁县高考温馨提示

    根据教育部和河北省招生委员会安排部署,2022年高考将于6月7日——9日进行。为确保按时参加高考,已在我县参加高考报名,但因学习、培训等原因目前仍滞留在外省、市、县的考生,需尽快返回报名地备考,防止因疫情原因影响考生参考。