融云 CTO 岑裕:出海技术前沿探索和排「坑」实践

news2024/11/25 12:27:17

在本文中,你将看到以下内容:

  • 全球通信网络在接入点、链路加速、服务商、协议等层面的动态演进;

  • 进入到具体市场,禁运国、跨国拦截、区域一致性差等细节“坑点”如何应对;

  • 融云如何从技术侧帮助开发者应对本地化用户体验和业务合规的挑战。

具备全球化视野和能力的新一代创业者,让中国互联网产品发展与全球市场晴雨表同步。关注【融云全球互联网通信云】了解更多

而跟随社交泛娱乐出海热潮蜂拥而至的人和资源,加快了产业在全球市场的成长,也抬高了出海赛道的门槛。

过去相对粗放的出海方式,正在迎来变革时刻,需要对业务做更精细化的运营。具体到各个市场中,通信网络的最后一公里体验本地化用户需求的满足是关键。

在“纵浪潜海 · 2023 融云社交泛娱乐出海赋能会”上,融云 CTO 岑裕以《出海技术前沿探索与排“坑”实践》为主题,分享了融云在上述两方面的持续探索和曲折前进。

 


全球通信网络 最后一公里体验的曲折前进

社交泛娱乐出海的旅程中充满了坑点和痛点,最先要面对的就是各类细节繁琐和意想不到的通信网络问题。

根据网速分析公司 SpeedTest 的数据,2023 年 1 月,全球平均固定互联网连接速度达 76.34Mbps,全球平均移动网络速度达 37.98Mbps。

在其调查的 138 个国家中,东南亚地区的老挝、缅甸、菲律宾、柬埔寨、印尼的移动网速均不达平均值,如下图示。

 移动网速最慢的国家(如下图示)中,有 9 个国家低于 10Mbps。

 

基础网络状况千差万别之外,近年来,全球通信网络的各个层面还在发生着动态演进,也都会影响业务进入当地市场后的“最后一公里体验”。这主要表现在以下四点:

接入点分配,海外从 SmartDNS 转向 AnyCast。

链路加速,在技术上从 CDN、AnyCast 到 SD-WAN 的迭代,也有一些地区只能使用边缘节点接入。

服务商,AWS、Google、阿里云、CloudFlare、Zenlayer 等各服务商在不同国家的策略和表现不尽相同,各有优势和短板,融合使用多家服务成为基本操作。

协议,出于对加密要求的进一步提升,HTTPS、UDP 等协议兴起。

以上技术迭代,不同地区服务商的迭代进展和支持程度不同,所以在面对全球业务时需要综合使用。

而进入到具体执行层面,还会有更多难以把控的细节“坑点”,比如禁运国、跨国拦截、区域一致性差、DNS 干扰、SSL 加密污染、UDP 拦截、特征包识别、弱网等。

这其中,有一些是常见难题。以跨国拦截为例,我们在地图上看到两个距离相近的国家,会下意识认为它们的连接质量比较好。但实际上,由于地缘政治等原因,物理距离近不等于网络连接好。不同国家、不同运营商,需要针对性实施不同的策略。

还有一些坑点不太常见,但十分棘手。比如在有些地区,当 App 达到一定规模和影响力后,可能会对其流量进行限制。

这些都将极度影响用户体验,出海企业需要投入大量资源进行基础设施的优化。好在,在过去几年出海浪潮的持续拍打之下,相关技术和解决方案也在打磨中日趋完善、成熟。

融云从 2016 年便伴随中国开发者的出海步伐开启全球化布局,在重点地区积累了丰富的服务经验,从东南亚到中东、日韩、拉美和欧美,都有爆款应用基于融云的底层能力虹吸了大量用户。

 

融云在全球通信网络建设上的积累不可一蹴而就,也是其作为专业出海通信服务商的核心优势之一。针对以上问题,融云通过整体方案解决最后一公里的通信难题

☑ 多链路,考虑到投入大小的问题,服务商无法在所有地区保持优势,一般是在不同区域拥有相对优势,这让融合多家服务能力进行统一调度成为基本要求。融云使用多家头部服务商,打造庞大、无拥塞的全球网络。在全球各个地方都有就近接入点,支持动态选择和下发,让用户更快接入服务。

☑ 多协议,支持 TCP、UDP、HTTP、QUIC 等多种协议,以多协议组合来解决跨国拦截的问题,提升在各个地区的服务一致性。

☑ 智能竞速,多链路多协议动态分配,探测回落,并通过本地网络记忆等手段来实现智能竞速,不仅要连得快,还要质量好。

☑ 动态混淆,通过动态混淆对内容进行加密传输,应对因 App 规模发展到一定程度而带来的流量限制等问题。

此外,结合智能心跳、网络记忆多地区统一调度,对服务进行整体优化和全面升级。

开发者通过 SDK 即可与融云服务建立连接,服务架构简洁明了,而背后支撑该架构那些纷繁复杂的协议、策略则被封装隐藏,无需开发者费心。

 

经过一系列优化升级后的融云 SD-CAN V4,全球 P99 连接时长降低了 30%。也就是说,99% 的长尾用户通过多链路、多协议、智能竞速等整体方案实现了连接用时降低 30% 的效果。

 


技术助力本地化 体验与合规

面对新的市场环境和有着不同习惯的海外用户,在战略决策背后,业务全球化更关乎的是一系列执行上的本地化问题。

尤其是热门地区和热门品类的竞争加剧,从岁月静好到“卷生卷死”,胜负手就是对本地用户的理解和需求满足。

融云围绕本地用户体验进行了系列优化,完成了服务品质的一次跃升。

以应用必备的推送能力为例,当语境放至全球市场,基于市场环境和用户群体的差异化,这个功能也生发出了不少坑点。

Android 多厂商推送,国内的小米、OPPO、vivo 等终端在很多海外地区也占据不低的市场份额,应用出海需要在安卓端接入 FCM 推送之外,也要考虑手机厂家推送。并且,不同厂家在国内和海外的推送方式还有一定差异性。

iOS Push Extension,允许应用在接收到推送时立即从服务器拉取消息,而不需要等待应用启动。也就是说,当用户收到一条推送通知,点击进去后即使恰巧遇到进入电梯等情况,也不会因断网而无法查看该消息。

 

Push Extension 的消息拉取是一个单独的进程,需要解决多个进程访问单个 SQLite 数据库文件的问题。并且,不同机型占用内存不同,高端机型 24M / 低端机型 12M,内存非常小的情况下,能够执行的扩展任务不能太复杂。

iOS CallKit,是苹果 iOS10 发布的框架,提供了统一的语音通话 UI 及与该 UI 交互的 API。结合 VoIP Push,使音视频通话类 App 拥有与手机系统一样的来电体验——直接显示在锁屏界面,且通话过程中的音视频权限和运营商电话一样,不会被其他应用打断。

在使用 VoIP Push 时,也有一些细节需要注意。比如,苹果规定客户端收到 VoIP Push 必须弹出通知,否则进程会强制崩溃,所以服务端为保证推送时效而一般会采取的多通道竞速策略就无法实施,需要对保证快速触达的技术模型进行调整。

针对于此,融云对推送能力进行了十分细腻的系列优化。

首先,对全平台推送通道进行优化,覆盖 FCM、APNs 等系统通道及小米、华为、OPPO、vivo 等多数手机厂商,并通过增强兼容性、对设备型号和操作系统版本针对性优化、不同厂商通道优化三大手段提升推送触达率。

其次,支持标签推送,并提供推送多语言模板,让推送更精准,提升用户使用体验。

再次,采用 iOS Push Extension 来保证更好的用户体验,将其作为单独的客户端类型来进行处理和封装。

而 iOS CallKit 和 VoIP Push 的诸多复杂、适配、不便之处,融云也已经在 1V1 音视频通话 SDK 中对所有技术细节进行了妥善处理,开发者集成即可便捷地拥有相应能力,无需自行处理。


除了用户体验的本地化适配,融云还在技术侧帮助开发者面对本地化合规方面的挑战。

☑ 二进制包无中文,一些地区会根据二进制包中是否有中文来简单粗暴地对 App 进行识别,甚至可能导致 App 直接被下架,融云出海解决方案的 SDK 二进制包中均不含中文。

☑ 支持独立的域名和证书,保障业务本地运营的稳定性;针对具体的业务运营,支持定制专门的边缘点入口和加速链路。

 特定区域网络优化,支持开发者进军一些目前相对空白的市场,针对当地的基建状况进行特定地区网络优化。


产业总是在竞争中实现螺旋上升,唯有对技术和产品持续精进,成为一个不断进化的生命体,才能永不落伍地满足业务的迭代需求。

融云,将会继续坚定地走在更专业的出海通信服务商的前进之路上。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

首发支持NOA的单征程3行泊一体域控,这家Tier1开“卷”

NOA正成为智能驾驶下半场的竞争焦点之一。 显然,NOA所处的L2/L2区间,在技术上仍然属于驾驶辅助领域,但在传统L2级ADAS功能的基础上增强了部分场景的功能ODD。在部分政策允许的国家和地区,可以实现有条件的「解放双手」。 高工智…

centos搭建vue3运行环境

一、安装 nodejs 1.下载&解压 Node.js官网:Download | Node.js cd /usr/local/src/wget -c https://nodejs.org/dist/v16.18.1/node-v16.18.1-linux-x64.tar.xz xz -d node-v16.18.1-linux-x64.tar.xz tar -xf node-v16.18.1-linux-x64.tarmv node-v…

threejs学习随笔(入门篇)

前言:three.js和webgl Three.js经常会和WebGL混淆, 但也并不总是,three.js其实是使用WebGL来绘制三维效果的。 WebGL是一个只能画点、线和三角形的非常底层的系统. 想要用WebGL来做一些实用的东西通常需要大量的代码, 这就是Thre…

C语言函数大全-- p 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- p 开头的函数 1. perror 1.1 函数说明 函数声明函数功能void perror(const char *s);用于将当前错误码对应的错误信息打印到标准输出设备(通常是终端)。 参数: s : 用于描述错误类型或…

班级页面设计——【3-相关活动页面】内容使用HTML以及css和Javascripts技术

系列文章目录 班级页面设计——【1-登陆注册页面】_网页制作实现登录注册 班级页面设计——【2-主界面部分】_班级首页展示 文章目录 系列文章目录 前言 一、页面效果介绍 1.1、页面展示 1.2、简单介绍 二、代码展示部分 2.1、html代码部分 2.2、css代码部分 前言 …

C++(继承中)

目录: 1.基类和派生类对象赋值转换 2.派生类当中的6个默认成员函数 --------------------------------------------------------------------------------------------------------------------------- 派生类对象可以赋值给 基类的对象/基类的指针/基类的引用&am…

“量子计算+个性化医疗”!富士通和BSC利用张量网络推进新研究

​ (图片来源:网络) 富士通和巴塞罗那超级计算中心(BSC)正在签署一项合作协议,通过利用临床数据促进个性化医疗,并使用张量网络推进量子模拟技术。 双方将于2023年5月开始联合研究,第一个合作项目旨在利用不…

CSGO搬砖,每天1-2小时,23年最强副业非它莫属(内附操作流程)

自从我学会了CSGO搬运,我发现生活也有了不小的改变,多了一份收入,生活质量也就提高了一份。 其实刚接触CSGO,我压根就不相信这么能挣钱,因为在印象中,游戏供玩家娱乐竞技的,作为我这种技术渣渣…

VUE3如何定义less全局变量

默认已经安装好了less,这里不过多讲。 (1)首先我们需要下载一个插件依赖: npm i style-resources-loader --save-dev (2)VUE3里配置vue.config.js文件内容 代码: const path require("p…

U盘安装Windows11和ubuntu20.04双系统

准备: 一台PC电脑(我的是两个固态硬盘) 一个U盘(最好不小于32G) 下载安装工具: 老白菜u盘启动盘制作工具_u盘启动_u盘装系统下载尽在老白菜官网 最新UltraISO官方免费下载 - UltraISO软碟通中文官方网…

数据结构与算法(九) 树

大家好,我是半虹,这篇文章来讲树 树是一种常见的数据结构,其定义为:由有限个节点组成的具有层次关系的集合 解决树问题的关键是递归,递归的关键是分解子问题 对于树来说,递归函数只要考虑对单个节点如何处…

波奇学Linux:Linux的认识和云服务器使用

在讲Linux前,我们先来理解计算机: 计算机:输入->算法->输出 举个栗子: pritnf :输出到屏幕(硬件)上 我们在计算机所有的行为都会转为硬件行为。 再进一步理解,我们打开visual studio后,敲…

BPF技术学习与整理

目录 eBPF是什么? eBPF是做什么的?可以解决什么问题? eBPF可以带来的解决方案是什么? eBPF的技术点 eBPF hookeBPF MapeBPF Helper FunctioneBPF有什么限制吗? 前言 21年因为项目需求而要开发一个工具,可以…

如何通过docker启动一个本地springboot的jar包

一、构建本地jar包 进入到项目目录下执行如下命令 mvn -e clean package -Dmaven.test.skiptrue或者直接在idea中打包 得到target文件夹 进入到target文件夹得到jar包 二、创建Dockerfile文件 新建Dockerfile文件,内容如下 FROM openjdk:8-jre MAINTAINER ja…

硬盘坏掉之后

文章目录 背景解决方案数据丢失软件安装 总结 背景 前一段时间,我的电脑突然就开不了机了,进入安全模式之后,发现硬盘无法读取,大概率是硬盘坏掉了。电脑是 MacBook,自己不太好换。于是跑到华强北,找了一家…

电脑无论是连接热点,还是公共网络,qq、微信都能用,就是不能上网,现分享解决办法如下。

这里写自定义目录标题 问题引入:解决办法1、打开电脑的控制面板2、点击 “网络和internet”3、点击 “internet 选项”4、点击 “连接”5、点击 “局域网设置”6、按照下面操作 问题引入: 在魔法使用网站之后,忘记关闭 clash 按钮就关闭电脑&…

Spring-学习修改尚硅谷最新教程笔记

二、Spring 1、Spring简介 1.1、Spring概述 官网地址:https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Jav…

数据湖Iceberg-SparkSQL集成(4)

文章目录 数据湖Iceberg-SparkSQL集成一、环境准备安装Spark 二、Spark配置Catalog2.1在配置文件中添加HiveCatalog与HadoopCatalog配置(一劳永逸)2.2使用spark-sql连接Hive Catalog2.3使用spark-sql连接Hadoop Catalog 三、SQL操作3.1 创建表创建分区表…

一个 24 通道 100Msps 逻辑分析仪

这是一个创建非常便宜的逻辑分析仪的项目,但其功能可与昂贵的商业分析仪相媲美。该分析仪可以以每秒 1 亿个样本的最高速度对多达 24 个通道进行采样,并且可以通过单个通道中的极性变化或多达 16 个通道形成的模式来触发。 该项目不仅包含硬件&#xff0…

去银行还是干嵌入式?

晚上要睡觉的时候,一个读者给我发消息 说是最近拿到了4个offer,现在犹豫不决 听说,最近嵌入式突然就火起来了。 不过,嵌入式很多人的薪资还是低了,而且,工作很多年后,嵌入式的工作,那…