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

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

总结:

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

    推荐阅读
  • 卡卡退役后还会看足球吗(卡卡随基普乔格跑完柏林全马)

    在9月25日进行的2022柏林马拉松赛上,37岁的肯尼亚名将基普乔格以2小时1分9秒的成绩夺冠,并创造了全新的世界纪录。后半程,卡卡的速度有所下降,但最终以3小时38分06秒完赛的成绩,在业余马拉松选手中还是算相当不错的。而且,这次卡卡参加柏林马拉松也有为父亲打气、鼓劲的原因。2016年镇江马拉松,李铁又以1小时45分的成绩完成半马比赛。

  • 学校预防新冠肺炎防控知识(复课防控小知识)

    对其它地区返校师生要做好体温监测及症状筛查。高校应设置集中隔离医学观察区,对来自或经停湖北以及疫情高发地区的师生和被判定为密切接触者进行集中医学观察。要配合辖区疾病预防控制中心做好疑似或确诊病例的流行病学调查、密切接触者排查。在辖区疾病预防控制中心和中小学卫生保健科的工作人员指导下进行消毒。所使用消毒剂应在有效期内。

  • 按部就班造句(按部就班造句一年级)

    7、即使是您认为应该按部就班,直截了当的技术决策,也会有政治参杂其中,特别是您处于决定是否批准购买某企业工具的职位。

  • 15分钟快速退烧(我娃快速退烧)

    我娃快速退烧昨天晚上10点半才回家,刚回到家里,老人家就说,娃发烧了,我赶紧到房里看娃,发现他还在被窝里打冷战急忙用手探他额头,哇!挺烫的,问他哪里不舒服?头疼头晕发热发冷������,用探热针测出来事38.9℃。

  • 产后怎么缩阴效果好

    运动法阴道本身有一定的修复功能,产后出现的扩张现象在产后3个月即可恢复。产后妈妈可以通过一些锻炼来加强弹性的恢复,促进阴道紧实。练习骨盆运动女人半蹲,两膝微屈,两足分开60厘米左右,两手叉腰。吸气,将骨盆前推;呼气,将骨盆拉回,同时臀部尽量向后撅起。练习展腿运动女人运动躯干、大腿时,腹压作用于阴道,产生快感,同时阴道口开张,利于局部气血通畅。女人坐姿,两手后撑,左腿屈立,右腿屈膝外展,平放垫上。

  • 手机新浪微博怎么取消关注(手机新浪微博如何取消关注)

    以下内容希望对你有帮助!手机新浪微博怎么取消关注打开新浪微博手机客户端,点击页面底部“我”菜单,在展开的页面中,点击“关注”选项。打开微博账号当前关注的用户之后,点击“关注的人”菜单按钮。接下来,可以看到当前已经关注的用户,想要取消关注的话,点击“已关注”按钮,在弹出的对话框中,点击“确定”按钮即可。

  • 广州人口(广州的介绍)

    广州人口广州人口数量:1530.59万人。广州是首批国家历史文化名城,广府文化的发祥地,从秦朝开始一直是郡治、州治、府治的所在地,华南地区的政治、军事、经济、文化和科教中心。广州被全球权威机构GaWC评为世界一线城市,每年举办的中国进出口商品交易会吸引了大量客商以及大量外资企业、世界500强企业的投资,国家高新技术企业达8700多家,总量居全国前三,集结了全省80%的高校、70%的科技人员,在校大学生总量居全国第一。

  • 夏天的租房市场(北京租房夏理银)

    2012年2月,女儿参加“国考”被录取到了国家机关。7月,接通知到单位报到上班。也就是说,租户与房东并无直接联系。我们签订的租期为一年,中介先收一个月的房租即3600元为中介费,另外还要一次性地交付“押二付三”的费用。所谓“押二付三”,就是将两个月的房租作为押金,另预付三个月的房租。如果合同到期双方无什么纠纷时则押金退回。合同签订后我们和中介按合同上的内容对室内设施进行查看清点,完毕后中介将钥匙交付我们。

  • 麻酱秋葵的做法凉拌(简单版凉拌(麻酱秋葵的做法)

    以下内容大家不妨参考一二希望能帮到您!麻酱秋葵的做法凉拌原料:秋葵、橄榄油、盐、芝麻酱、大蒜。秋葵洗干净入煮锅焯水后捞出沥干水。大蒜碎放入碗中加盐。加橄榄油搅拌均匀成芝麻酱汁。秋葵放入盘中,添加芝麻酱汁,稍加搅拌即可享用。

  • 稍的拼音和组词(稍的拼音和组词是怎样的)

    稍的拼音和组词稍的拼音和组词:稍许、稍微、稍纵即逝、稍稍、稍麦、脱稍、手稍、稍地、花稍、枝稍、稍伯、秩稍、稍芟、稍房、稍子、稍麻寺、稍属、眼稍、稍杀、稍问、四稍、稍黩筐篚、稍安勿躁、稍倾、上稍、俸稍、稍麄胆壮、稍长胆壮、乡稍、稍迁、拉稍寺、头稍自领、竿稍、稍绿、稍挽稍、稍侵、饩稍、稍天、奉稍、没下稍。稍有shāo和shào两种读音。作shāo时本义为禾末,引申为略微。作shào时〔~息〕军事或体操的口令。