2、關(guān)聯(lián)文章
《移動(dòng)端IM實(shí)踐:實(shí)現(xiàn)Android版微信的智能心跳機(jī)制》
《微信Mars:微信內(nèi)部正在使用的網(wǎng)絡(luò)層封裝庫(kù),即將開(kāi)源》
《微信移動(dòng)端應(yīng)對(duì)弱網(wǎng)絡(luò)情況的探索和實(shí)踐PPT [附件下載]》
《微信異步化改造實(shí)踐:8億月活、單機(jī)千萬(wàn)連接背后的后臺(tái)解決方案》
3、微信Mars起源
2012 年中,微信支持包括 Android、iOS、Symbian 三個(gè)平臺(tái)。但在各個(gè)平臺(tái)上,微信客戶端沒(méi)有任何統(tǒng)一的基礎(chǔ)模塊。2012 年的微信正處于高速發(fā)展時(shí)期,各平臺(tái)的迭代速度不一、使用的編程語(yǔ)言各異,后臺(tái)架構(gòu)也處在不斷探索的過(guò)程中。多種因素使得各個(gè)平臺(tái)基礎(chǔ)模塊的實(shí)現(xiàn)出現(xiàn)了差異,導(dǎo)致出現(xiàn)多次需要服務(wù)器做兼容的善后工作。網(wǎng)絡(luò)作為微信的基礎(chǔ),重要性不言而喻。任何網(wǎng)絡(luò)實(shí)現(xiàn)的 bug 都可能導(dǎo)致重大事故。例如微信的容災(zāi)實(shí)現(xiàn),如果因?yàn)榘姹镜膶?shí)現(xiàn)差異,導(dǎo)致某些版本上無(wú)法進(jìn)行容災(zāi)恢復(fù),將會(huì)嚴(yán)重的影響用戶體驗(yàn),甚至造成用戶的流失。我們亟需一套統(tǒng)一的網(wǎng)絡(luò)基礎(chǔ)庫(kù),為微信的高速發(fā)展保駕護(hù)航。
恰好,這個(gè)時(shí)候塞班漸入日暮,微信對(duì)塞班的支持也逐漸減弱。老大從塞班組抽調(diào)人力,組成一個(gè)三人小 team 的初始團(tuán)隊(duì),開(kāi)始著手做通用的基礎(chǔ)組件。這個(gè)基礎(chǔ)組件最初就定位為:跨平臺(tái)、跨業(yè)務(wù)的基礎(chǔ)組件。現(xiàn)在看,這個(gè)組件除了解決了已有問(wèn)題,還給微信的高速發(fā)展帶來(lái)了很多優(yōu)勢(shì),例如:
基礎(chǔ)組件方便了開(kāi)展專項(xiàng)的網(wǎng)絡(luò)基礎(chǔ)研究與優(yōu)化。
基礎(chǔ)組件為多平臺(tái)的快速實(shí)現(xiàn)提供了有力的支持。