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

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

1. 服务器选择

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

2. 功能变化

登陆功能

国内的登录使用手机号、微信等常见的登录方式;根据调研,海外产品使用手机号、google、facebook等进行登录的方式比较常见;所以我们需要重新接入google登录以及facebook的登陆方式;手机号登录方式,需要增加区域的选择,以及短信发送第三方的选择,后续会进行讲解。

google接入链接:https://developers.google.com/identity/sign-in/android/backend-auth

facebook接入链接: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

国际化功能

既然产品作为海外项目,那么语言就成为了一个不可避免的问题,所以服务端及客户端就都需要进行国际化;具体如何进行国际化,需要针对客户的情况去实际翻译并且更换语言包

3. 数据迁移及初始化

数据作为项目最为重要的部分之一,项目迁移到海外的过程中,我们需要将一些必要的数据也进行迁移,例如租户信息数据、资源信息需要迁移;像用户相关数据,日志记录数据就不需要进行迁移了.数据存放的组件有 mysql、es、redis等。

mysql:

需要查看每个服务的数据库中的每个表,梳理出需要同步的数据(固定不变的数据需要进行同步,比如说:聊天的系统话术、用户注册自动的昵称库等)。

缓存:

数据库中具有一些需要同步的初始化数据,缓存中自然也有,所以需要对缓存进行一次整理,但是方式与数据库不一样,如果说,因为该缓存不存在,而导致出现了问题,并且数据不会重新写入缓存中,那么该段的代码存在一定的不合理性,需要进行修改处理。

ES:

相信各公司都有使用到 ES进行存储数据,那么也会存在初始化数据的问题;es中数据的处理方案与缓存一致;还有一个值得注意的点是,es 中可能存在一些早期写入的初始化脚本,因为没有发现,导致新项目使用 es 的时候出现问题;所以还需要找出所有的初始化脚本,并进行执行,并且梳理起来,减少后续新项目的工作量。

 

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

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

 

数据库会员数、在线会员数、并发比例关系为 100:20:1,反过来说:1 个并发数,可以支持 20 个会员在线,有 100 个注册会员。

对于带宽,需要按量,用多少是多少,两种方式,一种是固定,一种是按量,建议是选择按量的。

 

三、总结

上述便是搭建海外项目过程中,涉及到的主要流程;目前市面上的各种社交软件很多都具有多人语音聊天的功能,相信在未来的一段时间之内,多人语音房间的玩法会得到更多年轻用户的认可。后续,我们也会不断推出语音房的玩法,来丰富用户的体验。如果您也希望搭建一套海外项目,希望这篇文章可以给到借鉴。如果有好的建议,欢迎给我留言。

 

 

原文链接:http://www.veryms.com.cn/20604.html,转载请注明出处。

0

评论0

请先

没有账号? 注册  忘记密码?