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

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

总结:

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

    推荐阅读
  • 唐三重生最后成神了没(举贤不避亲的唐三重生后)

    终极斗罗最后一册的内容已经更新完毕,小舞陨落后,唐三选择了转世重生。虽然终极斗罗30册并没有交代唐三重生的细节,但是唐三在临走前却交代了诸多事宜给后代和其他神界领导者。为了让自己的儿子和儿媳继承毁灭神王和生命神王的神位,他提出了举贤不避亲。况且二人还是夫妻,唐三将神位传给他们也算是没有辜负毁灭之神和生命女神的嘱托。因此个人以为,唐三并不会将修罗神和海神的神位让给他人继承,而是会留给小舞和自己。

  • 部编四年级语文上册21课古诗三首(部编版四年级语文上册古诗三首课文解析)

    《古诗三首》收录在人教四年级语文上册教材,需要掌握:19个汉字。明确学习目标1、有感情地朗读课文,背诵课文,默写《题西林壁》。与其父苏洵、其弟苏辙并称“三苏”。梅花和雪花相互竞争,都认为自己是最具早春特色的,而且互不认输,这就将早春的梅花与雪花之美别出心裁、生动活泼地表现出来了。

  • 高一语文必修二知识梳理(高一语文必修二知识点整理)

    1945年在苏门达腊被日寇杀害,1952年被中央人民政府追认为革命烈士。1921年第一部小说集《沉沦》问世,1923年《春风沉醉的晚上》、《薄奠》。著有散文集《海星》《竹刀》《囚绿记》等,译著有《罗亭》《鲁宾逊漂流记》等。开创了我国古代诗歌的现实主义创作传统。②相当于“而”。⑤为,成为,引申为充当,充作。引申为承担,承受。

  • 赛鲸电脑桌怎么样(赛鲸床上电脑桌使用感受)

    赛鲸在设计方面与德国Patzak,spinn等多家设计学院合作,设计追求完美,在结构和工艺方面获得多项专利。赛鲸电脑桌设计的三大特点是超易用、超耐用、超稳固。赛鲸电脑桌一个动作完成桌面角度调节。德国设计的支架结构,采用轻钢架。靠结构控制力度和状态,赛鲸电脑桌的耐用性增强。

  • 最强蜗牛吃蘑菇任务攻略(蘑菇有多少种)

    最强蜗牛吃蘑菇任务攻略获得蘑菇的方法:蘑菇宝箱,蘑菇园,每日任务,馆长的头盔,地球晚宴转盘,解锁蜗牛壳,白蝌蚪礼包,氪金礼包。每食用一定数量后可额外增加食盒容量。生命蘑菇,食用后可额外获得四维加成。

  • 啵乐乐韩国进口饮料(韩国进口啵乐乐饮料新品)

    九日冰祖食品出品的啵乐乐牛奶盒装含乳饮料目前已获得啵乐乐品牌正版授权,由山东冰祖食品股份有限公司独家代理。当然,除了可爱爆棚的卡通形象,更重要的是啵乐乐饮料的优异品质。除此之外,啵乐乐牛奶含乳饮料富含人体所需要的各种营养,同时富含维生素A、维生素B1等多种元素。啵乐乐大牌饮品,线下线上均有售目前,啵乐乐牛奶含乳饮料已经问鼎各大市场渠道,备受年轻消费者喜爱。

  • 病毒感染可以引起贫血(这种细菌感染会引发贫血等血液病)

    相关研究表明,幽门螺旋杆菌与某些血液疾病的发生是密切相关的,比如说不明原因的缺铁性贫血。我们说贫血的患者啊,有幽门螺旋杆菌的患者感染率明显高于未感染的患者。再有就是许多研究发现,根除幽门螺旋杆菌后特发性血小板减少性紫癜患者的血小板数会明显增多,并伴随血清血小板抗体,IgG水平的下降,幽门螺旋杆菌可能是部分特发性或者是原发性血小板减少症的这种疾病的致病因素之一。

  • 很甜的小短句(36句微信超火的情话短句)

    36句微信超火的情话短句❤️想牵着你的手给各位来宾敬酒❤️我什么都知道但还是想听你娓娓道来❤️我家的狗挺喜欢你的随我❤️你主动找我的时候我激动的都能做完整套广播体操❤️你是我最爱的宝贝给我甜甜的草莓牛奶也不换❤️不许说我嘴硬。

  • 一年级家长每天需要做什么(一年级家长开学最该做什么)

    就拿小学一年级新生来说,一部分是学区或摇号或其它渠道进了心仪的学校,遂了愿,满心欢喜;一部分是各种原因找找拖拖不情愿进了备份学校,心不甘,心绪惆怅。孩子学习成绩的好坏大多数来自家长的教与养,家长对孩子的教养跟上,孩子会很好。还有就是一定要记得我们上学的目的是什么,让孩子喜欢学习,学会学习,最终学有所成,这才是重中之重,是核心。所以家长在孩子成长上学会抓重点,才能保证孩子的教育正确。

  • 少儿春晚嘉年华演出(2023嘉佳卡通华夏少年少儿春晚特邀小主持人刘思琳)

    活动以权威性、广泛性为原则,旨在向全省范围内选拔具有优秀潜质的未来之星,具有积极向上风貌的儿童优秀节目和演员,最终登上《华夏少年》少儿春节联欢晚会的舞台,通过嘉佳卡通卫视的播出展示给全国人民。哈喽大拇指语言艺术特邀优秀小主持人刘思琳同学,经过严格选拔,入选嘉佳卡通《华夏少年》少儿春节联欢晚会的主持人。据悉,嘉佳卡通卫视《华夏少年》少儿春节联欢晚会将于2023年1月21日播出。