58到家技術總監沈劍:有選擇地借鑑才能不走彎路(圖靈訪談)

盼盼姐發表於2015-10-22

沈劍,58到家技術總監,技術委員會負責人。曾任百度高階工程師,58高階架構師,C2C技術部負責人,58技術委員會主席,58技術學院優秀講師。

58到家技術總監沈劍:有選擇地借鑑才能不走彎路(圖靈訪談)

問:你曾作為架構師參與過哪些專案?

我在2009年加入百度,參與與負責過許多百度hi重大專案的研發。2011年加入58同城,負責過58同城即時通訊,支付系統重構,攤銷系統重構,資料庫中介軟體,58同城推薦系統,58同城商戶平臺App,58同城二手交易平臺APP等多個系統與專案的設計與實現。2015年9月我被調到58到家,負責到家基礎服務與架構平臺的搭建。

問:你曾做過很多不同型別產品的架構,從58幫幫到58推薦系統,再到58幫幫APP,這些不同型別的產品架構對你提出過哪些挑戰?

不同的經歷豐富了我的業務知識以及系統架構設計經驗。即時通訊後端架構、推薦系統架構、APP架構,不同的業務形態有著不同的業務特點,也有著不同的系統架構特點,主要矛盾可能不一樣,例如:

  • 58幫幫即時通訊架構是基於通知的系統,對訊息實時性、可靠性要求比較高,有一個路由層與其他系統不同。
  • 58推薦系統架構是線上與線下的綜合系統,需要支援實驗平臺,有一個分流層與其他系統不同。
  • 58幫幫APP是一個無線APP,在連線穩定性、流量敏感性方面有著不同的挑戰。

問:寫“架構師之路”這個微信公眾號的初衷是什麼?

網際網路的核心是分享,寫“架構師之路”的初衷就是把自己積累的一些技術沉澱下來,分享給更多的技術人,希望大家有所收穫。下面就是“架構師之路”的二維碼,有需要的朋友可以關注一下。

58到家技術總監沈劍:有選擇地借鑑才能不走彎路(圖靈訪談)

問:最近幾個月“架構師之路”更新得比較少,請問有什麼特殊原因嗎?

今年4、5月份之後更新的就比較少了,實在抱歉。今年3月份的時候,58同城做了一次組織架構的調整,我被抽調去負責C2C技術部,介面58二手、58心寵、58優品三塊,需要重新組建團隊,規劃系統,專案管理。當時實在太忙了,就降低了更新頻率。不過大家放心,最近會持續更新,歡迎大家關注。

問:作為一位架構師,你掌握了很多關於產品經理、資料分析,以及廣告方面的知識,請問這部分知識儲備對於一位架構師來說是否是必須的?

對產品的瞭解、對業務的瞭解是必須的,架構最終是為業務服務的。對資料的敏感度也是要有的,在追查問題的過程中非常有用。至於廣告方面的知識,只是個人興趣愛好,我覺得廣告比較有意思,自己學習學習而已。

問:去年你在Top100summit上分享的案例是“58同城的推薦系統架構設計與實現”,今年為什麼要挑選“無線APP後端架構實現”這個主題?和你現在從事的工作有關嗎?

首先是幫幫APP專案中自己有一些經驗,想拿出來和大家分享分享;其次是APP現在非常火,APP後端架構應該很多小夥伴會感興趣。

問:對於58同城來說,無線APP後端和IM後端需要面對哪些具有58特色的架構問題?你設計和實現了哪些具有獨創性的解決方案?

談不上獨創性的解決方案,只能說我們有一些自己的經驗,例如:

  • 1)APP使用ip直連web-server以加速訪問;
  • 2)使用id和實體分開拉取、延時拉取來節省流量;
  • 3)使用時間戳來節省流量;
  • 4)在服務端動態實現一些APP上的功能;
  • 5)…

還有很多,在這裡就不展開了,感興趣的同學可以來參加將在今年12月4日到6日舉行的Top100summit技術大會,會上我們一起交流。

問:MySQL在被Oracle收購之後,開源程度大不如前,很多人都棄MySQL(和MongoDB)而投向PostgreSQL,58同城是否會考慮同樣的技術轉型?為什麼?

短期內我們肯定不會放棄MySQL,這是我們的主要儲存,全面轉型代價太大。中長期,我們會做自己的KV,Klist儲存系統,以應對自己大資料量的特殊業務需求。

問:你是否經常會去研究Youtube、Twitter這些著名網站的系統架構?你認為其他開發者或架構師在學習借鑑其他網站架構的時候應該注意些什麼?

其實也談不上研究。瞭解、學習和借鑑兄弟公司的架構技術,對發展自己公司的架構技術會有幫助,能少走一些彎路。

要注意的是,借鑑的過程中,一定不能只用“拿來主義”,一定要結合自己的業務,看這些技術自己是否真的適用。58同城的一個教訓是,MongoDB大行其道的幾年,我們也拿來用,結果走了彎路,發現自己並不適合,現在又摒棄了MongoDB。

問:對於想要成為架構師的人,你有什麼建議?

成為一名架構師,個人感覺三點非常重要:

  • 1)時刻保持對業務的關注,一切拋開業務的架構設計,都是耍流氓;
  • 2)要專注,時刻保持對技術的專注度;
  • 3)要耐得住寂寞,沉得下心來,併發/資料/機器規模越來越大的時候,一定會出現很多問題,沉下來把問題解決,技術能力就提高了。

更多精彩,加入圖靈訪談微信!

相關文章