ASCII码 ASCII码

多人语音房社交APP海外搭建部署业务处理层面需要关注的基本问题

发布于:2022-05-19 12:46:02  栏目:技术文档

语聊房社交APP在海外:搭建部署需要解决哪些基本问题

深耕音视频社交APP开发行业已久,也看到TT语音为首的语音房社交APP获得年轻人的认可。随着公司业务不断的升级,经过多方面的考量,认为我们当前的陌生人社交产品和语音房系统是能够进入海外市的;基于公司的战略以及用户的需求,技术团队便开始着手规划海外版语音房APP的功能和搭建。

1.服务器选择

首先从服务器部署层面来考虑海外项目,国内的应用,服务器是部署在国内的;那么海外的项目,服务器必然是不会部署在国内,会找要项目进军的市国家较近的服务器部署位置。服务器的选择上,阿里云自然也是提供海外服务器的能力,如果选择阿里云服务器,那么整套服务的部署改动量一定是最小的,经过技术各方面的调查及综合考虑下,也可以使用 AWS 的服务器。

  1. 功能变化

登陆功能国内的登录使用手机号、微信等常见的登录方式;根据调研,海外产品使用手机号、google、facebook等进行登录的方式比较常见;所以我们需要重新接入google登录以及facebook的登陆方式;手机号登录方式,需要增加区域的选择,以及短信发送第三方的选择,后续会进行讲解。google接入链接:https://developers.google.com/identity/sign-in/android/backend-authfacebook接入链接:http://cwqqq.com/2017/12/06/facebook_login_api_server-side短信服务国内架构中,我们使用的是阿里云的短信服务;同时阿里云也是提供了海外的接口,但是短信签名,阿里云是不支持除了大陆以外的公司进行申请的,所以重新选择了第三方;选择短信服务的第三方可以根据具体的需求来进行选择。支付功能国内的支付,只要使用的有微信、支付宝等;而海外的支付,Android 我们可以使用 Google Pay,已经为我们整合了海外常用的各种支付方式,iOS不论是国内外都使用的是苹果自带的支付,所以不需要修改。Google Pay 的接入地址:https://developer.android.com/google/play/billing?hl=zh-cn国际化功能既然产品作为海外项目,那么语言就成为了一个不可避免的问题,所以服务端及客户端就都需要进行国际化;具体如何进行国际化,需要针对客户的情况去实际翻译并且更换语言包

  1. 数据迁移及初始化

数据作为项目最为重要的部分之一,项目迁移到海外的过程中,我们需要将一些必要的数据也进行迁移,例如租户信息数据、资源信息需要迁移;像用户相关数据,日志记录数据就不需要进行迁移了.数据存放的组件有 mysql、es、redis等。mysql:需要查看每个服务的数据库中的每个表,梳理出需要同步的数据(固定不变的数据需要进行同步,比如说:聊天的系统话术、用户注册自动的昵称库等)。缓存:数据库中具有一些需要同步的初始化数据,缓存中自然也有,所以需要对缓存进行一次整理,但是方式与数据库不一样,如果说,因为该缓存不存在,而导致出现了问题,并且数据不会重新写入缓存中,那么该段的代码存在一定的不合理性,需要进行修改处理。ES:相信各公司都有使用到 ES进行存储数据,那么也会存在初始化数据的问题;es中数据的处理方案与缓存一致;还有一个值得注意的点是,es 中可能存在一些早期写入的初始化脚本,因为没有发现,导致新项目使用 es 的时候出现问题;所以还需要找出所有的初始化脚本,并进行执行,并且梳理起来,减少后续新项目的工作量。

插播个题外话,很多都在关心的并发问题:

很多人会比较关注程序上线运营后的一个承载量,通过跟技术的交流,我们可以了解到,搭建部署好一台社交程序,在运营过程中,使用一台 8 核 16G 的服务器大概能满足 2000-3000 的并发,如果想加大并发,需要提升宽带和 cpu 配置。

数据库会员数、在线会员数、并发比例关系为 100:20:1,反过来说:1 个并发数,可以支持 20 个会员在线,有 100 个注册会员。对于带宽,需要按量,用多少是多少,两种方式,一种是固定,一种是按量,建议是选择按量的。三、总结上述便是搭建海外项目过程中,涉及到的主要流程;目前市面上的各种社交软件很多都具有多人语音聊天的功能,相信在未来的一段时间之内,多人语音房间的玩法会得到更多年轻用户的认可。后续,我们也会不断推出语音房的玩法,来丰富用户的体验。如果您也希望搭建一套海外项目,希望这篇文章可以给到借鉴。如果有好的建议,欢迎给我留言。

相关推荐
阅读 +