陌陌運維主管:我們是如何搞定600+設備的初創公司辦公室網絡環境的

0 評論 3746 瀏覽 6 收藏 10 分鐘

屈指一算,陌陌已經兩歲多了。一個兩歲的小屁孩也已經背起書包上學背英文單詞了,兩歲的陌陌也正在創業的路上越走越順?;仡^看看這一路,不容易啊。遙想當年那只有四五臺電腦,60 平米左右的辦公室,再對比現在一人手持四五個移動設備,1000 平的高上大 CBD 寫字樓,些許感慨。

當年那個60 平米的小辦公室,大家上網辦公依賴的是一條4M的不對稱企業 ADSL。所謂的不對稱,指的是上行下行速率的不相等,也就是,我下載能達到 4Mbps,但上傳只有 512Kbps。很多人認為上傳不重要。設想一下,一個 10M 的陌陌APP,要上傳到服務器去,只能以 64K/秒 的速度上傳,這個還是理論。一個人單獨只用整條線的最快值,需要時間兩分半。相信現在家庭用的XX光纖入戶都比這個要快了,當時整個陌陌的所有員工都在使用這條小水管。

后來,我們的辦公室搬到了環境宜人的別墅。同樣是ADSL(當然,帶寬是擴大了)陪我們度過了這段溫馨的時光。再后來,也就是現在的辦公室,急速增長的員工數量和比之前大十倍以上的辦公室,終于讓我們正視這些問題了。我們需要一個能滿足數百設備的有線無線辦公室網絡環境。

首先,我們看看一個初創移動互聯網公司所面臨的問題:

 

1)眾多設備的有線無線上網

2)各類下載加速

3)爬籬笆

陌陌的辦公室上網使用的是大廈提供的寬帶上網,從大廈端給我們的就是一根普通的網線,我們只要插上網關服務器(關鍵角色,將在第二部分詳細介紹),配置上大廈分配的IP就可以使用了。關于有線上網,都是實打實的東西了,有多少個網線口,就得有相應數量的交換機端口。我們選購了一款性價比超高的 N 家的交換機,24 口千兆,只要不到 1000 的價格。這些交換機以級聯的方式連起來,然后擴展也比較方便,辦公室需要擴工位時,就繼續買交換機來級聯。

好了,說完有線,我們來說說比較關鍵的無線。作為一家有態度的移動互聯網公司,一個員工的桌子不放上那么五六個移動設備,都不好意思說在陌陌工作。作為一個腦殘果粉,在這里就不選擇 C 家的瘦 AP 了,而是直接選擇了 Apple 的 Airport Extreme 。Apple 的 AE 其實是一個路由器,但是我將其當做一個 AP 來使用,只是負責建立無線網絡,關閉 DHCP ,以 Bridge 的方式與網關相連。而之所以不選用 C 家的 AP ,則是考慮到 C 家的 AP 其實也不便宜,能達到和 AE 宣稱的理論最多 50 個同時接入的 AP ,甚至比 AE 還貴。

陌陌的辦公室并不是一個大開間,而是一個類似“回”字的形狀(中間是電梯)。辦公室的布局,與路由器的擺放有直接關系。我們當前布置了 11 個 AE ,平均每個 AE 連接了 30+ 個用戶。只廣播一個 SSID ,2.4G 和 5G 網絡都用同一個 SSID ,不讓用戶選擇就是最好的選擇。整個辦公室就一個 SSID,無縫漫游,即使用戶的位置移動了,也會自動尋找最近的接入。

用戶的設備支持 2.4 的就連接到 2.4,支持 5 的就連接到 5。眾所周知,大部分的 PC 和除了 iPhone 5 以上的手機,都只支持 2.4G,而 2.4G 基本已經擁擠得無法使用了。所以我們在 Android Team 的附近,布置了3~4個路由,以保證它們還能順利上網,但速度已經無法保證了。另外,也不能太相信 AE 的自動分配,必須手動指定每個路由廣播的信道,以保證相鄰的兩個路由的信道不要重疊。

Apple 新款的 Airport Extreme ,支持 802.11ac ,理論上可達到 1.3Gbps 的吞吐,比一般配備的有線千兆網卡更快。最近,我們終于也入手了新款 Airport Extreme ,豪華的外型背后,卻是一個無奈的事實:英雄無用武之地?,F在支持 802.11ac 的設備真是少之又少,連去年的 retina MacBook Pro 都不支持 ac。

在這里稍微吐槽一下 Apple 的無線管理工具 Airport Utility 。6.0 版本不好用吧,Apple 自己也知道,讓 5.6 版本可以與 6.0 共存。但新款 AE 不能通過 5.6 進行管理,而且系統升級 Mavericks 以后,5.6 就已經不能用了。Airport Utility 6.0 + 新款 AE 缺少了很多可監控的選項。而 Airport 5.6 + 舊款 AE 是可以通過 snmpd 和 syslog 獲取一些信息的。

接著就是加速的事情。我們這里,有請一位關鍵角色出場——墨跡。墨跡是陌陌的No.15號員工,我們的賣萌總監。我們用退役下來的黑蘋果,裝了一個 Linux 作為我們的辦公室網關。為了紀念墨跡,這個機器的名字叫墨跡。墨跡在我們創業的初期,一路用賣萌來陪伴著我們加班的日子。終于在某一天遇到了一生中所愛,從此離家出走去追尋自己的幸福了,再也沒有回來了。我們沒有怪她的不辭而別,而是祝福她,終于找到了一生的歸宿。

我們也為此特別做了一個版本來紀念這位永遠的賣萌總監。下圖就是陌陌 1.9 的開機載入畫面:

墨跡上安裝了 Smokeping、Cacti、Ntop 等軟件,Smokeping 可以檢測辦公網到各個地方的網絡情況,Cacti 用于監控整個辦公室的帶寬情況,Ntop 用于監控辦公室每個人的網絡使用情況。

說回來加速。我們主要加速的內容是,iTunes的APP更新,和 Testflight ipa 的下載。方法都是,在網關上面安裝一個 squid,用于緩存 ipa,然后用 iptables 把下載的地址,指向 squid,讓 squid 緩存住 ipa。只要第一次下載成功后,就會緩存到 squid 上面,辦公室的其他人就因此受益了。更新速度都是唰唰的。

iTunes 的更新一直沒有使用 CDN ,直到今年初,App Store 的 ipa 下載使用了國內的 CDN ,辦公室的 iTunes 加速的作用才沒那么大了。再到后來 iOS 7 發布后,這個就更不是問題了,因為 iOS 的新功能自動下載更新,iOS APP 基本所有的更新都可以在大家睡覺時完成了。但 testflight 的下載仍然沒有 CDN 的,而且慢得令人發指,如果沒有加速,難以想象還有誰會去使用它。

作為一個從來不用百度的裝逼犯,表示絕對不能忍受一天不能使用 Google 。于是,爬籬笆成為辦公室上網的一個必備因素。同樣,網關是一個 Linux 實在太方便了,我們仍然利用它來做這個事情。原理就是,中國的IP走默認的出口,而非中國的IP則走VPN的出口。

而中國的IP怎么獲取呢?從 APNIC 下載一份IP列表回來,把屬于中國的IP過濾出來。正如大家所知,全球的 iPv4 地址已經早就分批完畢,所以這份列表的變動性其實已經不大了。即使經常變動,一天更新一次也是沒什么問題的。

來源:36氪

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!