IM——直播互动场景

 

上面的存在一个问题是,在普通的聊天场景中,为了进行精准投递避免资源浪费,一般会维护一个中央的在线状态,在逻辑层在确定好投递的接收人后,通过这个在线状态查询对应接收人所在的网关机,然后只需要把消息投递给这台网关机就好了。

但是对于直播互动场景来说,对于这个精准投递应该如何进行优化呢?

首先,每一台网关机在启动时会订阅一个全局的消息队列;当用户进入直播间后,会在每台网关机的本机维护一个在线状态;同样的,假设这时用户A发送了弹幕消息,这条消息会在业务逻辑处理层进行处理;紧接着再由业务处理层给刚才网关机订阅的全局的消息队列,这样所有网关机都能收到消息;最后,每台网关机根据本机维护的某个直播间在线用户,再把消息下推给用户设备。

服务拆分

自动扩容缩容

对于直播互动场景中的监控指标一般可以分为两大类:

业务性能指标:比如直播间人数,发消息和信令的QPS与耗时,消息收发延迟等

机器性能指标:主要是通用化的机器性能指标,包括带宽,PPS,系统负载,IOPS

智能负载均衡

对于直播互动的消息下推来说,长连接入服务维护了房间和用户的长连接,那么这里的问题在于:扩容前的机器已经存在的长连接可能已经处于高水位状态,新扩容的机器却没有承载用户连接,而对于长连接入服务前端的负载均衡层来说,大部分都采用普通的轮询,并不管后端的长连接入机器是否已经承载了很多连接,这样会导致后续的新的连接请求还是均匀地分配到旧机器和新机器上,导致旧机器过早达到瓶颈,而新机器没有被充分利用。

在这种情况下,即使是让负载均衡层支持自定义的复杂的均衡算法,也可能无法解决流量不平衡的问题。因为很多情况下,负载均衡层本身也是需要扩容的,自定义的均衡算法也只能在某一台负载均衡机器上失效,无法真正做到全局的调度和均衡。

一个更好的方案是接管用户连接的入口,在最外层入口来进行全局调度。

比如,在建立长连接前,客户端先通过一个入口调度服务来查询背刺连接应该连接的入口IP,在这个入口调度服务里根据具体后端接入层机器的具体业务和机器的性能指标,来实时计算调度的权重。负载低的机器权重值高,会被入口调度服务作为优先接入IP下发;负载高的机器权重值低,后续新的连接接入会相对更少。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/71588.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百万人在线的直播间实时聊天消息分发技术

随着直播类应用的普及,尤其直播带货概念的风靡,大用户量的直播间场景已然常态化。 大用户量直播间中的实时互动是非常频繁的,具体体现在技术上就是各种用户聊天、弹幕、礼物、点赞、禁言、系统通知等实时消息。 如此大量的实时消息&#xff…

跨境电商属于外贸吗,Starday跨境电商靠谱吗?

跨境电商属于外贸吗?近年来,随着跨境电商平台以及卖家逐渐进入大众视野,众人对这个新鲜又稍显神秘的事物感到好奇。如何来定义跨境电商?跨境电商作为一种国际贸易新业态,打通了传统的国际贸易与互联网之间的联系&#…

自己写的一个彩票生成号码程序

一个朋友要我帮他写个7色球的生成号码程序,本以为挺简单的,但是的确耗费了我满多时间,而且第一个版本还把算法搞错了 :(,用了两个晚上大概4个小时的时间才完成一个Java Swing版和一个JavaScript版,看来我的基础还真是弱啊,需要多多锻炼 要求:随机生成7个数字,前6个是…

机器人也会“恐吓”人?与Claude的聊天记录,真让人细极思恐

ChatGPT不错啊,花一美刀买了账号,找人搭了梯子,但是最近账号被封了。 最近,朋友推荐了一款媲美ChatGPT,名为“Claude”的AI语音助手应用。作为 ChatGPT的忠实用户,我对新的AI产品总是抱有试一试的好奇心。注册完outlo…

用Kaptcha第三方包做验证码验证

Kaptcha是google提供的一个第三方的包,可以做验证码验证。他是运行原理把验证码存放到session域中,当用到的时候,从session域中取出来,然后与输入的验证码进行对比,就可以了。接下来,来看代码。 首先&…

Kaptcha-验证码使用及扩展

一、第三方验证码API 1、引入 kaptcha-datasource-spring-boot-starter。 引入kaptcha-spring-boot-starter: 基于 SpringBoot Google Kaptcha 验证码 快速启动器的验证码生成包 <dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-s…

python-第三方接口获取验证码

一、图鉴 图片识别-打码平台-打码网站-识别验证码-图鉴网络科技有限公司 需要注册&#xff0c;每次识别成功需要0.002元/次&#xff0c;详细接口文档见上面路径 说明&#xff1a;识别度高&#xff0c;基本不会错&#xff0c;但是收费 通用图片识别接口 接口地址说明Conten…

仿照支付宝等——自动获取短信中的验证码

仿照淘宝支付宝等&#xff0c;自动获取服务器端发来的验证码&#xff0c;实际是监听特定的号码的内容&#xff0c;主要方法如下&#xff1a; 当系统收到短信时&#xff0c;会发出一个action名称为android.provider.Telephony.SMS_RECEIVED的广播Intent&#xff0c;该Intent存放…

利用支付宝短信服务接口 实现手机号 验证码登录Demo

一、首先需要去阿里云注册账号并登录 二、注册阿里云的短信服务 会有100条免费短信 获取自己的AccessKey&#xff08;accessKeyId&#xff0c;accessKeySecret&#xff09; 三、在阿里云短信服务 注册短信的 签名 和 模板 阿里云短信服务参考地址&#xff1a;https://www.aliy…

阿里短信验证码接口和支付宝沙箱支付接口

阿里短信验证码接口和支付宝沙箱支付接口 一、阿里短信验证码接口 1. 申请阿里AccessKey&#xff0c;填写AccessKey ID和AccessKeySecret 2. 申请短信的签名名称和模板 Java的API接口如下&#xff0c;其中模板可根据自己需要进行修改 /**发送短信*/public Integer SendMsg(Stri…

关键词生成原创文章及句子的软件!开发原理分析

朋友们大家好&#xff01;今天又要来给大家上一课吧&#xff0c;关于输入关键词自动生成文章的软件大家觉得网上有没有&#xff1f; 答案&#xff1a;肯定是没有&#xff01; 那么我们今天就给大家带来这么一款软件&#xff0c;我们只需要输入你的关键词就能自动生成原创文章…

写文案,认准这几个APP就够了

想要写出10w的文案&#xff0c;也不是那么容易的&#xff0c;毕竟如果要是能够那么轻易的就写出来的话&#xff0c;也不会有那么多人为了这个文案而感到头秃了。但是你要是说它容易的话&#xff0c;也是有窍门的如果我们按照窍门来进行编写的话&#xff0c;就会相对来说容易一些…

这款“狗屁不通”文章生成器火了,效果确实比GPT 2差太远

整理 | 夕颜 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 【导读】最近&#xff0c;一个名字相当接地气的“狗屁不通”文章生成器&#xff08;BullshitGenerator&#xff09;火了&#xff0c;截至目前 GitHub 上 Star 数已超过 3200&#xff0c;还上了微博热搜…

【IEEE】IEEE论文接收后proof(校样)全流程实例讲解

文章目录 1. proof邮件内容分块解读1.1 获取你的校对文件的步骤1.2 上传修正稿关于什么时候缴费 2、校对稿首页的一般说明 在论文被接受并提交Final Version.pdf文件之后的第4天&#xff0c;收到了proof(校样)的要求。(注意&#xff1a;由于IEEE旗下期刊众多&#xff0c;编辑和…

计算机硕士论文盲审,研究生毕业论文盲审那些事,你造吗?

原标题&#xff1a;研究生毕业论文盲审那些事&#xff0c;你造吗&#xff1f; 首先声明&#xff0c;盲审研究生论文——无论博士或是硕士——纯粹属于扯淡之列&#xff0c;虽然鄙人无权更正&#xff0c;也不敢不从&#xff0c;但根本没有看得起发明该项技术的人&#xff01; 有…

输入正确的账号密码和验证码后 验证码一直报错误的解决办法

这两天写了一个登录的功能页面&#xff0c;用的是ivew&#xff0c;大致样子长这样 输入正确的账号密码以及验证码后死活提示验证码错误&#xff0c;后来查了下才发现需要对发起请求的时候配置 withCredentials: true 我用的是axios&#xff0c;配以了一下就可以了&#xff0c;…

Windows10系统中Foxmail修改密码之后登录一直提示密码错误

情况说明&#xff1a;这是Windows10中自带的针对Foxmail邮箱的特殊毛病 1&#xff1a;右键Foxmail图标&#xff0c;选择属性 2&#xff1a;点击“兼容性” 点击下面“更改所有用户的设置” 3&#xff1a;勾选“以管理员身份运行此程序”

java基于Android快递物流服务系统

&#xff08;1&#xff09;后台管理平台 设计实现物流管理平台&#xff0c;完成对司机、所载货物、出发点、目的地、运输轨迹等的管理。主要研究的内容为前后端框架的选择&#xff0c;对系统信息的展示与管理。 数据展示&#xff1a;管理人员通过不同的筛选条件&#xff0c;查…

一篇文章告诉你,为什么移动数据捕获对运输物流公司很重要?

随着世界走向数字化和智能手机的使用增加&#xff0c;移动数据采集正在成为大多数行业的新常态。航运物流也不例外。从捕获详细的订单和交付信息到跟踪货运和仓库位置&#xff0c;条形码技术用于运输物流世界的每一步。通过智能数据采集&#xff0c;运输和物流公司可以获得更好…

盘点那些参与央行数字货币的公司们

来源:互链脉搏 法定数字货币一直属于央行内部的保密项目&#xff0c;其参与方的身份更是神秘。而12月24日&#xff0c;几则消息的公布&#xff0c;使得央行数字货币参与方的轮廓愈加清晰。 当天&#xff0c;腾讯内部发布了《关于成立数字货币研究项目组&#xff08;虚拟组织&am…