首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直播系统聊天技术(九):千万级实时直播弹幕的技术实践

为优化系统性能,实时弹幕服务将“地址分配和”服务进行了特殊优化:图片中心提供用户进入直播间弹幕服务的身份策略配置。...在该次直播活动中采用了动态Token的机制,即根据用户账号、登录时间、分配的接入地址以及中心按时间区间生成的“随机数以及对应的Token算法”动态计算Token。...用户打开直播App,首先完成账号。...在进入直播间时通过业务中心完成直播付费身份认证和弹幕服务地址分配(同步获取到弹幕服务的动态token),最后根据接入地址登录弹幕服务,弹幕服务依据中心的策略校验Token正确性。...动态Token采用进程本地计算的方式。可以在不访问用户服务的情况下完成身份,在提高登录认证的性能同时有效的降低了业务成本。

30421

常见状态码

HTTP 状态码 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–要完成请求必须进行更进一步的操作 4xx:客户端错误请求有语法错误请求无法实现...5xx:服务器端错误–服务器未能实现合法的请求 状态码详解 code 描述 详细解释 200 成功 成功 400 错误请求请求是无效的,详细的错误信息会说明原因 401...23414 聊天室云存储业务未开通。 24012 通话失败。 24014 实时音视频功能未开启。 24016 实时音视频功能已关闭。 25101 消息撤回时,参数错误。...ATS 默认只使用 HTTPS 协议,当 HTTP 协议被禁止时 SDK 会一直 30004 错误。您可以在我们 iOS 开发文档中搜索 ATS 设置。 30007 导航 HTTP 请求失败。...30016 消息大小超限,消息体(序列化成 JSON 格式之后的内容)最大 128k bytes。 30017 请求内存分配失败,可能是手机内存不够等原因引起的。

2.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ThreatSource:Google BeyondProd安全架构详解

    从依据黑客行为特征到完全依赖白名单基于行为的动态智能检测。依据云原生的架构治理内部服务,由以往的ip、主机重新定义身份信息,并给予认证。...由于谷歌在全球不同的region使用同一个主干仓库,brogmaster要验证每一次的发布方才可以访问指定的代码仓库、传输链路也要加密。CI、CD的制品分发时,也要加密和具备身份验证。...注意核心的内部服务只,不加密,可能是基于性能考虑。自研的ssl实现,可以参考下Amazon的s2n。...开发者不需要关系如何适配身份体系,如何加白,都是由数据权限(使用AWS或GCP Identity&认证和授权决策的策略框架 访问管理类IAM产品)自动判断。...认证和方面,通过tls中的namespace认证身份。加密方面,证书天然的加密机制不再说。握手消息,不用隐藏对端通信服务的来源(虽然你有nmap扫描到了服务,但是不能建立通信)。

    1.5K10

    TSF微服务治理实战系列(四)——服务安全

    本章将从安全的视角介绍TSF相关的能力,包括服务和网关的机制、如何保证应用配置的安全、权限管理及事件审计等方面。...TSF 微服务网关通过 JWT、OAuth、密钥对等插件,使用户方便的将原有应用和方式快速集成 TSF 体系中,同时针对网关提供了详细的监控指标和可视化视图;通过收集 TSF 平台中的资源、发布、...网关开启密钥对后,所有流经网关的请求都需通过密钥对验证。常见使用场景包括:外部服务通过微服务网关访问网关内部服务的接口时需要的情况。...在微服务网关中配置JWT插件:根据使用的密钥对文件,如下图配置 JWT 插件。 绑定插件对象:将创建的 JWT 插件绑定某个微服务网关分组,即可针对访问此分组中 API 进行 JWT 。...6 OAuth OAuth 插件提供了简单的第三方对接的能力。外部待请求先到网关,网关再向第三方服务请求校验。

    1.2K20

    EdgeOne 防盗链实践教程

    本文为您介绍如何通过 EdgeOne 提供的防盗链能力,保护您的内容免受未经授权的盗链访问,提升加速服务的安全性。...Token :即时间戳防盗链,安全性更高,更可靠。详情请参见 Token 。边缘函数:定制化的防盗链能力,如远程等,可通过 边缘函数 支持。...完整的规则配置如下所示,单击保存并发布,即可完成该规则配置。UA 黑白名单User-Agent 是 HTTP 请求头的一部分,包含用户访问时所使用的操作系统及版本、浏览器类型及版本等标识信息。...该功能的使用需要客户端和 EdgeOne 配合,客户端负责发起加密的 URL 请求,EdgeOne 负责根据预先设定的规则对 URL 进行合法性验证。详细的配置使用方式,您可以参考Token 。...远程如果您有自己的服务器,可以通过配置远程,将用户请求转发至您指定的服务器,由服务器对用户请求进行校验,适用于需要精确控制访问权限和实时验证的场景。

    9710

    前端需要了解的9种设计模式 什么是设计模式?设计模式的类型一. 结构型模式(Structural Patterns)二. 创建型模式(Creat

    而除此之外的场景尽量避免单例模式的使用,因为单例模式会引入全局状态,而一个健康的系统应该避免引入过多的全局状态。 实现单例模式需要解决以下几个问题: 如何确定Class只有一个实例?...如何简便的访问Class的唯一实例? Class如何控制实例化的过程? 如何将Class的实例个数限制为1?...最常见的使用策略模式的场景如登录算法取决于用户的登录方式是手机、邮箱或者第三方的微信登录等等,而且登录方式也只有在运行时才能获取,获取到登录方式后再动态的配置策略。...Node 生态里著名的库 Passport.js API的设计就应用了策略模式。...还是以登录的例子我们仿照 passport.js 的思路通过代码来理解策略模式: /** * 登录控制器 */ function LoginController() { this.strategy

    4.2K20

    这个 TCP 问题你得懂:Cannot assign requested address

    打开微信一看,心凉半截,全是报系统 403 错误消息。别说下班了,怕是老板会让我永远下班吧。 别慌,在长期的团队协作训练中,我明白了一个道理:稳住我们能赢。...403 说明权限不足,也就是说我们的子系统中心拉取权限失败了。直接登录到子系统服务器,手动执行拉取权限程序,的确是拉不到。 我的推测没有问题,难道网络不通了?...telnet 目标端口试试,然后 Linux 给我返回了这个错误信息: Cannot assign requested address 原因 产生这个错误的原因是由于 Linux 分配的客户端连接端口用尽...接下来使用两个命令来验证一下: 查看连接数: # netstat -ae | wc -l # netstat -ae | grep TIME_WAIT | wc -l 查看可用端口范围: # sysctl...分析了线上代码,觉得有三个地方应该优化: 每次请求中心不应该都建立新的连接,而是应该复用之前的连接,比如单例模式; 权限相对来说是变化不频繁的,子系统应该建立本地缓存,而不是每次实时请求; 不止要对

    4.4K95

    使用云开发数据库构建更生动的小程序

    接入微信体系来获取用户登录态、使用微信开放接口等,基于长连接服务来实现具体的业务逻辑。...免 使用实时数据推送无需接入微信体系,天然集成了原生微信能力,与微信的登录无缝整合,开箱即用,免获取微信用户信息、使用微信开放接口。减少了开发者对功能的开发和维护工作。...请求从小程序接入层经过的是 WebSocket 协议,再到安全校验层进行权限验证。...每次长轮询请求都有 QueryID,请求从路由层监听推送层的对应关系由一致性哈希生成算法,使得监听推送层负载均衡。最后还有相同条件对应相同的 QueryID 来提高性能。...无论是小程序或小游戏都可以使用云数据库的实时数据推送来实现相关场景的实际业务功能。 即时通信 1. 小程序:直播聊天室、弹幕等 2.

    86541

    V3手动失败之Nodejs篇

    导语 该系列其他篇章: V3手动失败之Go篇 V3手动失败之Python篇 V3手动失败之Java篇 V3手动失败之PHP篇 V3手动失败之C#篇 腾讯云 API 全新升级 3.0...,该版本进行了性能优化且全地域部署、支持就近和按地域接入、访问时延下降显著,接口描述更加详细、错误码描述更加全面、SDK增加接口级注释,让您更加方便快捷的使用腾讯云产品。...解决方案 为了帮助客户更简单、更快捷地完成接口手动,并成功发送请求,将通过一系列文章专门讲解各个后端语言的手动&发送请求的可执行demo代码,助力客户快速接入。...手动相关文档:请求结构、公共参数、V3接口 具体代码 为了模拟具体的http请求,需要安装request包: npm i request 运行nodejs代码,可以完成v3,并发送http请求...* 如果长时间不和标准时间同步,可能导致运行一段时间后,请求必定失败,返回签名过期错误

    2.2K142

    Java自动化测试(Jmeter 12)

    token lemonban.v3 timestamp+token+sign 其中 sign= RSA(token 前 50 位+时间戳) Content-Type:application..." , "data": { //数据, 对象或数组,为空统一设置为 NULL } } 返回码 0:成功 1:必填参数为空 2:参数错误 如格式错误、类型转换出错、内容无法解析、数值类型格式化异常、 超出范围...、用户已存在、项目已存在等 1001:账号信息错误 1002:账户余额不足 1003:token 或 sign 验证不通过或 token 过期 1004:URL 错误 1005:服务器繁忙,通常是后端代码运行异常...1006:缺少必须的请求头 1007:无权限访问,如进行其他用户相关业务操作 token 方式 当 X-Lemonban-Media-Type 请求头值为 lemonban.v2 时,接口使用 token...

    1K20

    微服务之API Gateway和Netflix Zuul

    使用微服务构建整个 API 服务时,一般会有许许多多职责不同的应用在运行着,这些应用会需要一些通用的功能,例如、流控、监控、日志统计。...一般来说,如果需要在请求到达后端应用前就进行处理的话,会选择前置过滤器,例如请求转发、增加请求参数等行为。...前置过滤器 一般来说整个服务的逻辑可以很复杂。...,所以 Gateway 可以友善的帮助后端应用完成这个行为,并将用户的唯一标示透传到后端,而不需要、甚至不应该将身份信息也传递给后端,防止某些应用利用这些敏感信息做错误的事情。...为了简化使用,也许我们会额外的增加一个权限组,例如 /admin/* 下的所有 API 都应该为后台接口,它只允许内部来源的访问。

    1.4K10

    Vue 折腾记 - (10) 给axios做个挺靠谱的封装(报错,,跳转,拦截,提示)

    前言 不推荐完全copy过去,可以看看我是如何针对我这边业务; 做的一个axios的封装及实现的思路 ---- 需求及实现 统一捕获接口报错 弹窗提示 报错重定向 基础 表单序列化 ---- 实现的功能...一般是请求成功后我们自行写入本地的,因为你放在vuex刷新就没了 // 一些必要的数据写入本地,优先从本地读取 if (localStorage.token) { config.headers.Authorization...// 所以需要,我都会在路由meta添加添加一个字段requireLogin,设置为true的时候 // 这货就必须走,像登录页这些不要,是可以直接访问的!!!...progressEvent) {}, // 最多转发数,用于node.js maxRedirects: 5, // 最大响应数据大小 maxContentLength: 2000, // 自定义错误状态码范围...需要再严谨一些,token 可以遵循 JWT 的规格,以及引入中间层nodejs(对传输的做拦截封装加解密,聚合接口);

    2.6K21

    登陆方案设计

    下面主要分析 “用户名+密码”的登陆方式: 出于安全考虑,我们不可能在所有的请求里都使用“用户名+密码”。...解决方案就是鉴定这个 token 是不是用户本人在使用,一般我们通过以下方式,如果我们能保证下面的两种验证信息是一直都没变或者在可接受的范围内,我们就能认为这个用户一直在使用我们下发的 token。...那么如何强制客户端每隔一段时间做一次验证呢?很简单,我们给 token 设个有效时间,失效时间客户端就必须请求一次新的 token,于是就有了 refresh token。...二、方式  用户登录后,每次请求服务时客户端请求都要包含信息,服务端根据信息查询用户信息和其合法性。目前信息可以有如下方式: 1....比较 方式 优点 不足 集中式 session 方式 1. 服务端维护用户状态,可以管理用户状态,没有失效和用户信息一致问题; 2. 安全性相对较高 1.

    1.4K21

    IM开发干货分享:有赞移动端IM的组件化SDK架构设计实践

    1)创建流程(连接) : 如图上所示,当IM SDK初始化后,业务调用连接请求接口,会开始连接的创建过程,创建成功后,会完成操作,当创建和都完成后,会开启消息收发线程,为了维持长连接,会有心跳机制...以上两类消息发送,均使用上图的流程进行发送,可通过发送回调感知请求的结果。...: 1)Socket连接状态的返回结果; 2)权状态的返回结果,(流程因有赞业务需要); 3)接收的IM消息,或者其他类型的返回消息。...SDK中会根据注册的监听器,在读取到服务器推送消息后,直接通过监听器回调进行分发。...1)IM会话首次请求数据流程: 2)IM下拉获取历史数据流程:  3)IM单条消息发送持久化方案: 4)IM单条数据重发流程:  10、设计不足之处 1)消息回执: 当前的设计方案中,没有消息回执的机制

    1.8K20

    单核QPS提升10倍,亿级日调用!QQ频道前端网关升级之路

    初步看来,只需调整方式,将内网的智能网关切换到外网的 ptlogin 即可。 然而,实际情况并非如此简单,因为我们忽略了一个关键的请求链路:JSAPI(通过 APP 发送请求)。...,比如配置、数据库变更等); 变更影响范围; 变更的向上兼容性。...消息可靠送达 如何保证消息一定被 client 收到? 其实无法 100% 保证这点,只能承诺尽最大可能送达。 其中最容易被想到策略:消息确认,也是 tcp 协议使用的。...命令字,否则进入补发机制; 消息补发: 补发时机:重新建链、加入房间; 补发内容:缓存的所有相关消息; 成果 适配三端(H5/QQ 小程序/cocos) 的 SDK; 复用 HTTP (无需额外环节...问题在于,这些错误信息太常见了,无法直接指向问题的根源。那么,我们应该如何进一步探索呢?

    49011

    支持 ACL 访问控制、引入 HOCON 全新配置文件格式

    ACL 将 MQTT 服务用于 IoT 应用时,为了保证服务和信息安全,需要 ACL 服务来防止恶意客户端发布错误数据和控制命令或订阅未经允许的主题获取敏感数据。...NanoMQ 的 ACL 支持在众多用户呼声中于 0.14 版本正式发布。目前 NanoMQ 支持通过在配置文件中编写规则来根据客户端 ID 和用户名配置规则。...图片在和桥接配置中使用 HOCON 语法在 HOCON 格式中不需要再为多次出现的配置文件类目(如多个用户名密码键值对)增加数字下标。...修复了 Android 平台上通过动态链接库使用 NanoMQ 时由于 POSIX 时钟系统精度不足导致的计时器异常问题。...为 MQTT over QUIC 桥接连接下线事件消息增加了MQTT V5 的 KeepAlive Timeout 错误码。

    63930

    从gRPC安全设计理解双向证书方案

    笔者“三省吾身”,在工作中会犯错误把一些加密、认证、的概念和实现方案搞混,尤其是加解密涉及算法和公私钥机制的概念不深入细节。...、消息头和消息体做签名,防止请求消息在传输过程中被非法篡改。...敏感数据加密 通常使用 Handler 拦截机制,对请求和响应消息进行统一拦截,根据注解或者加解密标识对敏感字段进行加解密,这样可以避免侵入业务。... 身份认证可以防止非法调用,如果需要对调用方进行更细粒度的权限管控,则需要做对 RPC 调用做。例如管理员可以查看、修改和删除某个后台资源,而普通用户只能查看资源,不能对资源做管理操作。...利用消息摘要可以保障数据的完整性和一致性,它的特点如下: 单向 Hash 算法,从明文密文的不可逆过程,即只能加密而不能解密; 无论消息大小,经过消息摘要算法加密之后得到的密文长度都是固定的; 输入相同

    2.5K30

    关于云开发新服务“实时数据推送”,你需要了解的全在这了!

    在数据库在小程序·云开发中的应用一文中,我们了解实时数据推送作为云开发即将上线的一项新能力,主要指客户端使用官方SDK发起socket连接建立对一个集合的监听,目标集合中如果有符合过滤条件的数据发生变更...[640.jpeg] 简单来说,使用实时数据推送可以更有效率的拉取数据,帮你把你的应用变成实时有状态,场景会非常有用,比如可以用来做弹幕,做实时排名更新,做实时刷新,或者实时推送一些通知给用户。...自建服务器的开发者如要基于微信用户登录态进行操作并让小程序安全运行,就不可避免地需要接入微信体系,整合accesstoken和 sessionkey流程并保证其安全性。...[640-6.jpeg] 云开发新能力矩阵 云调用:云函数免调用微信服务端开放接口,获取微信开放数据,接收微信服务端消息推送。 HTTP API:小程序外访问云开发资源。...云开发Network面板:小程序Network面板支持展示云开发请求。 实时数据推送

    2.4K90
    领券