當前位置:首頁 >  站長 >  編程技術(shù) >  正文

當紅語言只認Go!趣頭條技術(shù)沙龍聚焦Golang應(yīng)用熱點

 2019-04-16 17:31  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

4月13日,趣頭條聯(lián)合極客邦科技在上海舉辦了首屆 Go 語言技術(shù)沙龍——Golang 在工程實踐中的應(yīng)用。雖然只是一場持續(xù)半天的技術(shù)沙龍活動,但是現(xiàn)場參會者的參與熱情、從沙龍帶回的收獲與感悟,其意義已經(jīng)遠遠超過活動本身。部分參會者在現(xiàn)場反饋說,如果不是參加了此次沙龍,真的感受不到,原來Go語言在國內(nèi)這么火,在開發(fā)者群體中這么吃香!

Go語言從 2009 年發(fā)布以來,到現(xiàn)在正好走過了十年的時間。其天生并發(fā)、內(nèi)置GC、安全性高、語法簡單、編譯快速、出身名門等等諸多特點,使得目前越來越多大公司都在使用 Go 語言重筑其后端的基礎(chǔ)架構(gòu)和服務(wù)。

座位不夠坐了,站著也要聽

本次技術(shù)沙龍從實際生產(chǎn)業(yè)務(wù)中出發(fā),注重企業(yè)對Go語言的應(yīng)用程度,注重講師在Go中的實踐,因此來自國內(nèi)深度應(yīng)用Go語言互聯(lián)網(wǎng)大廠的三位資深架構(gòu)師——趣頭條基礎(chǔ)架構(gòu)部架構(gòu)師徐鵬、七牛云大數(shù)據(jù)團隊架構(gòu)師劉凱、bilibili 主站技術(shù)中心研發(fā)工程師曹國梁,基于對Go語言的深入理解,在現(xiàn)場深度分享了自家企業(yè)在Go語言中的實踐情況。

以下是本屆技術(shù)大會三位分享嘉賓演講的精彩回顧:

自研 ServiceMesh 在趣頭條的實踐

現(xiàn)場第一輪分享,是趣頭條基礎(chǔ)架構(gòu)部架構(gòu)師徐鵬帶來的《自研 Service Mesh 在趣頭條的實踐》。

趣頭條基礎(chǔ)架構(gòu)部架構(gòu)師徐鵬

在演講中,徐鵬首先對 Service Mesh 的演進歷程進行了介紹。

隨后徐鵬著重對趣頭條完全基于Go語言實現(xiàn)的 Service Mesh Negri 系統(tǒng)進行了講解。

Negri 架構(gòu)圖

自研的Service Mesh Negri有以下6個主要特點:

語言無關(guān),無需開發(fā)多套不同語言框架、PHP、Golang、Java甚至Node.js、Python都可以接入;

維護成本低,重框架維護成本非常高、DRY會引發(fā)大面積故障,升級成本高;

服務(wù)注冊發(fā)現(xiàn),省去了slb部署環(huán)節(jié)、可以自動發(fā)現(xiàn)服務(wù)節(jié)點變化;

服務(wù)治理,限流、熔斷、降級、trace、metrics、log錯誤注入;

圖形化的控制面板,提供了統(tǒng)一的UI,控制服務(wù)治理的各類配置,展示服務(wù)的metric、strace、日志、調(diào)用關(guān)系等;

自研業(yè)務(wù)的支持,abtest、trace、auth、加解密、sign驗簽等功能的支持。

隨后,徐鵬主要就 Negri 的研發(fā)歷程、最佳實踐以及未來發(fā)展方向做出了講解。

最后,徐鵬對Negri的未來發(fā)展規(guī)劃進行了介紹,主要包含:

兼容xds協(xié)議,支持Istio作為控制平面;

支持Redis、MySQL、Nsq、Kafka協(xié)議,能夠?qū)@些服務(wù)做限流熔斷等舉措;

服務(wù)授權(quán)認證,通過下發(fā)服務(wù)間調(diào)用規(guī)則/Appsecret,讓服務(wù)間調(diào)用更安全。

Go在七牛全鏈路追蹤中的實踐

第二輪分享,是來自七牛云大數(shù)據(jù)團隊架構(gòu)師劉凱,他所帶來的分享主題為《Go 在七牛全鏈路追蹤中的實踐》。

七牛云大數(shù)據(jù)團隊架構(gòu)師劉凱

首先,劉凱對全鏈路追蹤這一技術(shù)進行詳細的講解,包括全鏈路追蹤技術(shù)的起源、Opentracing、業(yè)界主要產(chǎn)品等等。

隨后對七牛的全鏈路追蹤進行了詳細介紹。在七牛全鏈路追蹤的功能特性方面,劉凱也進行了極為詳細的闡述,主要包含:傳輸優(yōu)化、服務(wù)拓撲、接入成本、可視化展示這四個方面。

最后,劉凱現(xiàn)場演示了如何用全鏈路追蹤模塊去反向監(jiān)控Go項目,第一是指用戶的業(yè)務(wù),黑色就是trarcer模式,然后中間span,然后是采集模塊,并現(xiàn)場還原了真實效果,手動演示了代碼傳入的途徑。

Go在bilibili微服務(wù)治理中的實踐

最后一個分享的是 bilibili 主站技術(shù)中心高級研發(fā)工程師曹國梁,他的分享主題是《Go 在bilibili微服務(wù)治理中的實踐》。

bilibili主站技術(shù)中心高級研發(fā)工程師曹國梁

曹國梁首先讓大家初步了解了下微服務(wù)化所帶來的一系列挑戰(zhàn),并介紹了初期CP服務(wù)發(fā)現(xiàn)系統(tǒng)——ZooKeeper。

Zookeeper架構(gòu)圖

隨后詳細介紹了 bilibili 基于 Go 語言實現(xiàn)的AP服務(wù)發(fā)現(xiàn)框架——Discovery。Discovery 服務(wù)發(fā)現(xiàn)系統(tǒng)主要有保證節(jié)點信息最終一致、網(wǎng)絡(luò)分區(qū)的自我保護、客戶端實例變化這三個特點。

同時,負載均衡是微服務(wù)中非常重要的一個環(huán)節(jié),曹國梁對負載均衡在 bilibili 內(nèi)所發(fā)展的前2個階段進行了介紹,因為性能無法滿足業(yè)務(wù)快速增長的需要,bilibili 基于前面的兩個版本,又引進了負載均衡3.0,主要優(yōu)化點可見下圖:

最后,曹國梁對微服務(wù)中“熔斷與限流”的應(yīng)用進行了介紹,并回顧了之所以用Go語言來實現(xiàn)這個框架的原因。

Lean Coffee 環(huán)節(jié):深度討論Go的今生與未來

本次沙龍與尋常大家只是單一的站在傾聽者的角度來接收技術(shù)干貨的不同,是本次沙龍引入了Lean Coffee 環(huán)節(jié),共設(shè)有【Go的工程化實踐】、【大并發(fā)和大流量下的Go實踐】、【Go在行業(yè)中落地與應(yīng)用】以及【Go的未來前景探討】這四個話題,每一位參會者都可以選擇自己所感興趣的話題來與現(xiàn)場的小伙伴進行討論。

我們的講師也積極參與到大家的討論中來

最后每個小組都派出了一位代表上臺進行分享,從產(chǎn)出的結(jié)果來看,大家的討論十分有成效,并且由趣頭條的Kevin從中評選出了“最具價值分享”獎項。

本次技術(shù)沙龍以Go為圓心,凝結(jié)了上海本地對Go有熱情和研究興趣的開發(fā)者,大家借此相識、借此探討,向獲知最前沿的技術(shù)應(yīng)用,擴大自身的社交圈子又邁進了一步。

現(xiàn)場參會者的大合影

三位講師也獲得定制的證書

引用Lean Coffee 環(huán)節(jié)一位技術(shù)大牛的熱血之言:七牛在國內(nèi)是應(yīng)用Go語言的專家,但是希望在多年之后,Go語言在中國,不管什么七牛八牛,最終都將會是Go牛!

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標簽
趣頭條
開發(fā)者

相關(guān)文章

熱門排行

信息推薦