4月13日,趣頭條聯合極客邦科技在上海舉辦了首屆 Go 語言技術沙龍——Golang 在工程實踐中的應用。雖然隻是一場持續半天的技術沙龍活動,但是現場參會者的參與熱情、從沙龍帶回的收獲與感悟,其意義已經遠遠超過活動本身。部分參會者在現場反饋說,如果不是參加了此次沙龍,真的感受不到,原來Go語言在國内這麼火,在開發者群體中這麼吃香!
Go語言從 2009 年發布以來,到現在正好走過了十年的時間。其天生并發、内置GC、安全性高、語法簡單、編譯快速、出身名門等等諸多特點,使得目前越來越多大公司都在使用 Go 語言重築其後端的基礎架構和服務。
本次技術沙龍從實際生産業務中出發,注重企業對Go語言的應用程度,注重講師在Go中的實踐,因此來自國内深度應用Go語言互聯網大廠的三位架構師——趣頭條基礎架構部架構師徐鵬、七牛雲大數據團隊架構師劉凱、bilibili 主站技術中心研發工程師曹國梁,基于對Go語言的深入理解,在現場深度分享了自家企業在Go語言中的實踐情況。
以下是本屆技術大會三位分享嘉賓演講的精彩回顧:
自研 ServiceMesh 在趣頭條的實踐
現場第一輪分享,是趣頭條基礎架構部架構師徐鵬帶來的《自研 Service Mesh 在趣頭條的實踐》。
在演講中,徐鵬首先對 Service Mesh 的演進曆程進行了介紹。
随後徐鵬着重對趣頭條完全基于Go語言實現的 Service Mesh Negri 系統進行了講解。
自研的Service Mesh Negri有以下6個主要特點:
語言無關,無需開發多套不同語言框架、PHP、Golang、Java甚至Node.js、Python都可以接入;
維護成本低,重框架維護成本非常高、DRY會引發大面積故障,升級成本高;
服務注冊發現,省去了slb部署環節、可以自動發現服務節點變化;
服務治理,限流、熔斷、降級、trace、metrics、log錯誤注入;
圖形化的控制面闆,提供了統一的UI,控制服務治理的各類配置,展示服務的metric、strace、日志、調用關系等;
自研業務的支持,abtest、trace、auth、加解密、sign驗簽等功能的支持。
随後,徐鵬主要就 Negri 的研發曆程、實踐以及未來發展方向做出了講解。
最後,徐鵬對Negri的未來發展規劃進行了介紹,主要包含:
兼容xds協議,支持Istio作為控制平面;
支持Redis、MySQL、Nsq、Kafka協議,能夠對這些服務做限流熔斷等舉措;
服務授權認證,通過下發服務間調用規則/Appsecret,讓服務間調用更安全。
Go在七牛全鍊路追蹤中的實踐
第二輪分享,是來自七牛雲大數據團隊架構師劉凱,他所帶來的分享主題為《Go 在七牛全鍊路追蹤中的實踐》。
七牛雲大數據團隊架構師劉凱
首先,劉凱對全鍊路追蹤這一技術進行詳細的講解,包括全鍊路追蹤技術的起源、Opentracing、業界主要産品等等。
随後對七牛的全鍊路追蹤進行了詳細介紹。在七牛全鍊路追蹤的功能特性方面,劉凱也進行了極為詳細的闡述,主要包含:傳輸優化、服務拓撲、接入成本、可視化展示這四個方面。
最後,劉凱現場演示了如何用全鍊路追蹤模塊去反向監控Go項目,第一是指用戶的業務,黑色就是trarcer模式,然後中間span,然後是采集模塊,并現場還原了真實效果,手動演示了代碼傳入的途徑。
Go在bilibili微服務治理中的實踐
最後一個分享的是 bilibili 主站技術中心研發工程師曹國梁,他的分享主題是《Go 在bilibili微服務治理中的實踐》。
bilibili主站技術中心研發工程師曹國梁
曹國梁首先讓大家初步了解了下微服務化所帶來的一系列挑戰,并介紹了初期CP服務發現系統——ZooKeeper。
Zookeeper架構圖
随後詳細介紹了 bilibili 基于 Go 語言實現的AP服務發現框架——Discovery。Discovery 服務發現系統主要有保證節點信息最終一緻、網絡分區的自我保護、客戶端實例變化這三個特點。
同時,負載均衡是微服務中非常重要的一個環節,曹國梁對負載均衡在 bilibili 内所發展的前2個階段進行了介紹,因為性能無法滿足業務快速增長的需要,bilibili 基于前面的兩個版本,又引進了負載均衡3.0,主要優化點可見下圖:
最後,曹國梁對微服務中“熔斷與限流”的應用進行了介紹,并回顧了之所以用Go語言來實現這個框架的原因。
Lean Coffee 環節:深度讨論Go的今生與未來
本次沙龍與尋常大家隻是單一的站在傾聽者的角度來接收技術幹貨的不同,是本次沙龍引入了Lean Coffee 環節,共設有【Go的工程化實踐】、【大并發和大流量下的Go實踐】、【Go在行業中落地與應用】以及【Go的未來前景探讨】這四個話題,每一位參會者都可以選擇自己所感興趣的話題來與現場的小夥伴進行讨論。
我們的講師也積極參與到大家的讨論中來
最後每個小組都派出了一位代表上台進行分享,從産出的結果來看,大家的讨論十分有成效,并且由趣頭條的Kevin從中評選出了“價值分享”獎項。
本次技術沙龍以Go為圓心,凝結了上海本地對Go有熱情和研究興趣的開發者,大家借此相識、借此探讨,向獲知最前沿的技術應用,擴大自身的社交圈子又邁進了一步。
三位講師也獲得定制的證書
引用Lean Coffee 環節一位技術大牛的熱血之言:七牛在國内是應用Go語言的專家,但是希望在多年之後,Go語言在中國,不管什麼七牛八牛,最終都将會是Go牛!
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

