移動(dòng)互聯(lián)網(wǎng)系統(tǒng)架構(gòu)十大陷阱
過去的三年,54chen一直奮斗在中國移動(dòng)互聯(lián)網(wǎng)一線,歷經(jīng)各種坑爹的情況。以下特做記錄。
Top 1.時(shí)不我待 連通性
cmwap cmnet這樣的詞語以后應(yīng)該都會(huì)消失在人世間。三年前,經(jīng)常性地有移不動(dòng)聯(lián)不通手機(jī)連不上服務(wù)器機(jī)房的情況。兩年前,這種情況要好了一些。一年前,改善很多?,F(xiàn)在還存在。相信未來會(huì)越來越好,時(shí)代在召喚!解法,花錢找有“背景”的機(jī)房。
Top 2.生不逢時(shí) HTML5
在去年的網(wǎng)絡(luò)情況下,HTML5依舊不適合用來做優(yōu)秀的app。前幾年的時(shí)候,網(wǎng)速各種爛的情況下,2G下的html5應(yīng)用基本上完全不能用。現(xiàn)在好一點(diǎn),開始有閑人把html5全部封裝好native的調(diào)用,使其只做view的顯示部分,但是,性能也是個(gè)大問題。當(dāng)然了,同樣地,相信未來會(huì)越來越好,同樣是時(shí)代在召喚!解法,過幾年再用。
Top 3.環(huán)境惡劣 DNS
DNS解析也有失敗的情況下,app做得再漂亮,請求也不可達(dá)。IP要比域名靠譜一些,卻有別的問題。解法就是在客戶端多留下點(diǎn)域名和ip,一個(gè)不能用換下一個(gè)。
Top 4.車匪路霸 http攔截
天朝運(yùn)營商,可以干得出你想不到的事情。各種小廣告帖你家防盜門上。所以你最好還是在header里聲明好了:畜生,這個(gè)不是html,這是json,不要加廣告!
Top 5.五花八門 app添加按鈕一定要克制
特別是android app,完全沒有限制,或者統(tǒng)一標(biāo)準(zhǔn),什么樣的App都有,做一個(gè)大氣的App,最重要的一點(diǎn),看看能不能打開就是主要功能,手指點(diǎn)一下就能到重要功能。
Top 6.逆流而上 完全不要在傳統(tǒng)web上有所期待
除了新浪微博、QQ空間這種從傳統(tǒng)web上推出的App之外,幾乎不可能在完成一個(gè)App之后,能夠讓用戶按你的引導(dǎo)打開一個(gè)網(wǎng)站。其難度不低于當(dāng)年在傳統(tǒng)廣告商打完廣告,等用戶來訪問網(wǎng)站一樣。
Top 7.天下大同 App上的sqlite與服務(wù)器的mysql數(shù)據(jù)同步,是個(gè)大麻煩
當(dāng)App也有一個(gè)db在保存數(shù)據(jù)的時(shí)候,就會(huì)接二連三地出現(xiàn)數(shù)據(jù)不一致的問題。最好的解法,公司有個(gè)統(tǒng)一的同步機(jī)制,最好是固定的框架代碼,讓業(yè)務(wù)邏輯隔離開這個(gè)同步過程。當(dāng)然,實(shí)際工作過程中,我們甚至還想把所有的云端數(shù)據(jù)只當(dāng)成備份,干脆全部交給客戶端工程師來完成邏輯,我們讓cluster更加可靠和可擴(kuò)展。
Top 8.通則不痛 下載渠道要通暢
動(dòng)則幾M的包,下載不通暢,基本上分分鐘新增用戶就歸零了。而且,要上CDN。這里有個(gè)坑,有些個(gè)CDN廠商的代理服務(wù)器可能會(huì)出現(xiàn)緩存有限的情況,文件太大會(huì)出現(xiàn)前半部分下載挺快,后面越下越慢,請謹(jǐn)慎使用。
Top 9.兵貴中速 移動(dòng)網(wǎng)絡(luò)更新太快不是好事,太慢也不是好事
你看看哪個(gè)App天天在更新,已經(jīng)不是web2.0時(shí)代了,親! 同時(shí),不要慢速運(yùn)轉(zhuǎn),你的伙伴們會(huì)養(yǎng)成拖拉的習(xí)慣。最好的辦法,內(nèi)部天天更新,外部月更新甚至是季更新。
Top 10.未雨綢繆 一定要提前準(zhǔn)備全體用戶可以看到的公告條,以備不時(shí)之需
web2.0時(shí)代,我們要維護(hù)系統(tǒng),在全部頁面頂部加一個(gè)黃條:今天xx點(diǎn)全站維護(hù)。移動(dòng)時(shí)代,這不太可能了,于是你會(huì)看到各種微博公告、微信公告、xx公告,反正就是不在自己家公告,因?yàn)樽约杭覊牧艘S護(hù)。
原文出處:五四陳科學(xué)院