第五屆 Gopher China 大會將於2019年4月26日-4月28日在北京市海澱區朗麗茲西山花園酒店舉辦,Gopher China 大會目前是國內最大規模,最專業的 Go 語言線下技術交流大會。大會聚集了全國各地的 Gopher 一起進行 Go 語言的學習與交流。透過國內外 Go 語言屆的大神給大家帶來技術的分享,實時瞭解有關Go 的動態、應用場景以及技術實踐的細節等等。
為方便我們的 Gopher 朋友們在大會前也能 get 到大神們在 Go 方面的技術理念,會前我們將對本次大會所有的講師一一做專訪。下麵是來自知乎技術平臺的後端工程師-杜旭的專訪。
杜旭( xlzd ),知乎後端工程師。2016 年加入知乎反作弊團隊後,先後負責設計並實現了知乎的反爬蟲系統及帳號風險系統。目前在知乎社群技術團隊業務架構組,負責推進社群業務資源最佳化相關工作。
2018 年初,我們準備換語言重新實現部分資源佔用非常高的服務時,我才正式接觸 Golang。團隊的幾個同學之前對 Golang 的掌握都不算深入,不過都非常快速就對 Golang 有了比較深入的掌握,並短時間內完成了重寫標的。Golang 確實是一門非常高效但簡單易上手的語言。
語言層面支援併發、高效能、作為靜態型別語言但有動態語言的感覺、易上手是 Golang 的優勢。個人比較期待 Go 2.0 對泛型的支援,這將一定程度上提升 Golang 的表達能力,另外比較期待 Go Modules。
Gopher China 大會是國內最大的 Golang 開發者大會,非常期待參加本次大會。
沉下心來夯實基礎,程式語言是工具,在合適的場景選擇合適的語言,而不要成為語言的奴隸。
Golang 在開發效率和效能上做到了平衡,是一門非常優秀的語言。但換語言重寫不是銀彈,Golang 在很多地方其實也有自己的不足,轉 Golang 可能能夠解決現有問題,但不可避免也會引入新的問題。在轉 Golang 之前,建議做足夠的調研。
參加 Gopher China 大會,一方面是想跟大家分享我們在使用 Golang 的實踐中的經驗和教訓,另一方面也非常想學習其他各位老師的實踐經驗和知識分享。
孫曉光老師是我司一位大神(GitHub: https://github.com/sunxiaoguang ),尤其在儲存領域有非常深厚的經驗。
眾所周知,知乎社群後端的主力程式語言是 Python。不過隨著使用者的迅速增長和業務複雜度的持續增加,一些重點業務的流量增長迅猛,對應的服務端的壓力也越來越大。對此,我們在對現有實現做過一些最佳化的嘗試後,決定換語言重寫這部分高流量的服務。我本次演講的主題是:《知乎社群核心業務 Golang 化實踐》,主要是介紹這次重寫的背景、帶來的收益、我們的實施步驟以及過程中遇到的一些坑等內容。