|
|
深耕音視頻社交APP開(kāi)發(fā)行業(yè)已久,也看到TT語(yǔ)音為**的語(yǔ)音房社交APP獲得年輕人的認(rèn)可。隨著公司業(yè)務(wù)不斷的升級(jí),經(jīng)過(guò)多方面的考量,認(rèn)為我們當(dāng)前的陌生人社交產(chǎn)品和語(yǔ)音房系統(tǒng)是能夠進(jìn)入海外市場(chǎng)的;基于公司的戰(zhàn)略以及用戶(hù)的需求,技術(shù)團(tuán)隊(duì)便開(kāi)始著手規(guī)劃海外版語(yǔ)音房APP的功能和搭建。
1. 服務(wù)器選擇
**先從服務(wù)器部署層面來(lái)考慮海外項(xiàng)目,國(guó)內(nèi)的應(yīng)用,服務(wù)器是部署在國(guó)內(nèi)的;那么海外的項(xiàng)目,服務(wù)器必然是不會(huì)部署在國(guó)內(nèi),會(huì)找要項(xiàng)目進(jìn)軍的市場(chǎng)國(guó)家較近的服務(wù)器部署位置。服務(wù)器的選擇上,阿里云自然也是提供海外服務(wù)器的能力,如果選擇阿里云服務(wù)器,那么整套服務(wù)的部署改動(dòng)量一定是**小的,經(jīng)過(guò)技術(shù)各方面的調(diào)查及綜合考慮下,也可以使用 AWS 的服務(wù)器。
2. 功能變化
登陸功能
國(guó)內(nèi)的登錄使用手機(jī)號(hào)、微信等常見(jiàn)的登錄方式;根據(jù)調(diào)研,海外產(chǎn)品使用手機(jī)號(hào)、google、facebook等進(jìn)行登錄的方式比較常見(jiàn);所以我們需要重新接入google登錄以及facebook的登陸方式;手機(jī)號(hào)登錄方式,需要增加區(qū)域的選擇,以及短信發(fā)送第三方的選擇,后續(xù)會(huì)進(jìn)行講解。
google接入鏈接:https://developers.google.com/identity/sign-in/android/backend-auth
facebook接入鏈接:http://cwqqq.com/2017/12/06/facebook_login_api_server-side
短信服務(wù)國(guó)內(nèi)架構(gòu)中,我們使用的是阿里云的短信服務(wù);同時(shí)阿里云也是提供了海外的接口,但是短信簽名,阿里云是不支持除了大陸以外的公司進(jìn)行申請(qǐng)的,所以重新選擇了第三方;選擇短信服務(wù)的第三方可以根據(jù)具體的需求來(lái)進(jìn)行選擇。
支付功能
國(guó)內(nèi)的支付,只要使用的有微信、支付寶等;而海外的支付,Android 我們可以使用 Google Pay,已經(jīng)為我們整合了海外常用的各種支付方式,iOS不論是國(guó)內(nèi)外都使用的是蘋(píng)果自帶的支付,所以不需要修改。
Google Pay 的接入地址:https://developer.android.com/google/play/billing?hl=zh-cn
國(guó)際化功能
既然產(chǎn)品作為海外項(xiàng)目,那么語(yǔ)言就成為了一個(gè)不可避免的問(wèn)題,所以服務(wù)端及客戶(hù)端就都需要進(jìn)行國(guó)際化;具體如何進(jìn)行國(guó)際化,需要針對(duì)客戶(hù)的情況去實(shí)際翻譯并且更換語(yǔ)言包
3. 數(shù)據(jù)遷移及初始化
數(shù)據(jù)作為項(xiàng)目**為重要的部分之一,項(xiàng)目遷移到海外的過(guò)程中,我們需要將一些必要的數(shù)據(jù)也進(jìn)行遷移,例如租戶(hù)信息數(shù)據(jù)、資源信息需要遷移;像用戶(hù)相關(guān)數(shù)據(jù),日志記錄數(shù)據(jù)就不需要進(jìn)行遷移了.數(shù)據(jù)存放的組件有 mysql、es、redis等。
mysql:
需要查看每個(gè)服務(wù)的數(shù)據(jù)庫(kù)中的每個(gè)表,梳理出需要同步的數(shù)據(jù)(固定不變的數(shù)據(jù)需要進(jìn)行同步,比如說(shuō):聊天的系統(tǒng)話(huà)術(shù)、用戶(hù)注冊(cè)自動(dòng)的昵稱(chēng)庫(kù)等)。
緩存:
數(shù)據(jù)庫(kù)中具有一些需要同步的初始化數(shù)據(jù),緩存中自然也有,所以需要對(duì)緩存進(jìn)行一次整理,但是方式與數(shù)據(jù)庫(kù)不一樣,如果說(shuō),因?yàn)樵摼彺娌淮嬖冢鴮?dǎo)致出現(xiàn)了問(wèn)題,并且數(shù)據(jù)不會(huì)重新寫(xiě)入緩存中,那么該段的代碼存在一定的不合理性,需要進(jìn)行修改處理。
ES:
相信各公司都有使用到 ES進(jìn)行存儲(chǔ)數(shù)據(jù),那么也會(huì)存在初始化數(shù)據(jù)的問(wèn)題;es中數(shù)據(jù)的處理方案與緩存**;還有一個(gè)值得注意的點(diǎn)是,es 中可能存在一些早期寫(xiě)入的初始化腳本,因?yàn)闆](méi)有發(fā)現(xiàn),導(dǎo)致新項(xiàng)目使用 es 的時(shí)候出現(xiàn)問(wèn)題;所以還需要找出所有的初始化腳本,并進(jìn)行執(zhí)行,并且梳理起來(lái),減少后續(xù)新項(xiàng)目的工作量。
插播個(gè)題外話(huà),很多都在關(guān)心的并發(fā)問(wèn)題:
很多人會(huì)比較關(guān)注程序上線運(yùn)營(yíng)后的一個(gè)承載量,通過(guò)跟技術(shù)的交流,我們可以了解到,搭建部署好一臺(tái)社交程序,在運(yùn)營(yíng)過(guò)程中,使用一臺(tái) 8 核 16G 的服務(wù)器大概能滿(mǎn)足 2000-3000 的并發(fā),如果想加大并發(fā),需要提升寬帶和 cpu 配置。
數(shù)據(jù)庫(kù)會(huì)員數(shù)、在線會(huì)員數(shù)、并發(fā)比例關(guān)系為 100:20:1,反過(guò)來(lái)說(shuō):1 個(gè)并發(fā)數(shù),可以支持 20 個(gè)會(huì)員在線,有 100 個(gè)注冊(cè)會(huì)員。
對(duì)于帶寬,需要按量,用多少是多少,兩種方式,一種是固定,一種是按量,建議是選擇按量的。
三、總結(jié)
上述便是搭建海外項(xiàng)目過(guò)程中,涉及到的主要流程;目前市面上的各種社交軟件很多都具有多人語(yǔ)音聊天的功能,相信在未來(lái)的一段時(shí)間之內(nèi),多人語(yǔ)音房間的玩法會(huì)得到更多年輕用戶(hù)的認(rèn)可。后續(xù),我們也會(huì)不斷推出語(yǔ)音房的玩法,來(lái)豐富用戶(hù)的體驗(yàn)。如果您也希望搭建一套海外項(xiàng)目,希望這篇文章可以給到借鑒。如果有好的建議,歡迎給我留言。
安卓原生+IOS原生,完善的接口文檔,功能完善 程序穩(wěn)定 運(yùn)行流暢。
搭建部署:成品源碼整套交付,**快2個(gè)工作日即可快速搭建完成,并免費(fèi)提供搭建學(xué)習(xí)培訓(xùn)。
協(xié)助上線:可免費(fèi)為客戶(hù)提供第三方SDK申請(qǐng)和接入服務(wù),并協(xié)助程序平臺(tái)安全上線。
自建品牌:開(kāi)拓自身用戶(hù),打造屬于自己的服務(wù)品牌,成為獨(dú)立運(yùn)營(yíng)的服務(wù)產(chǎn)品提供商。
一鍵接入:只需按規(guī)范對(duì)接API接口 ,便可輕松、低成本的從資源池中獲取服務(wù)所需業(yè)務(wù)資源
免費(fèi)升級(jí):免費(fèi)更新迭代源程序bug修復(fù)
|