Gopher China 2021 講師專訪之王發(fā)康:Go 將在未來云計(jì)算行業(yè)成為不可動(dòng)搖的語言
王發(fā)康
螞蟻集團(tuán)技術(shù)專家,專注于高性能網(wǎng)絡(luò)服務(wù)器研發(fā),MOSN、Tengine 開源項(xiàng)目核心成員,目前關(guān)注云原生 ServiceMesh、Nginx、Envoy、Istio 等相關(guān)領(lǐng)域。
最初如何與go結(jié)識(shí)的?在此之前,有無接觸過其他語言?談?wù)勊麄兊膬?yōu)缺點(diǎn)。
第一次接觸 GoLang 是 2014 年在百度實(shí)習(xí)的時(shí)候,當(dāng)時(shí)是把一個(gè)系統(tǒng)的操作全部命令化,有點(diǎn)類似 Docker 的 CS 模式。那時(shí)候在接觸 Go 之前主要是了解 C、C++,Go 最大的優(yōu)勢就是寫起來爽,但是寫了一段時(shí)間后,就有點(diǎn)不踏實(shí)了,感覺沒有啥挑戰(zhàn)了,于是后面又轉(zhuǎn)到去寫 C 了。現(xiàn)在回想起來,感覺還是有點(diǎn)無知,那時(shí)候之所以感覺不踏實(shí),就是覺得 Go 里面內(nèi)存管理等底層邏輯對(duì)用戶透明了,熟知 runtime 代碼是多么的優(yōu)秀、值得學(xué)習(xí)的。
Go 語言中最看好哪種特性,談一談理由以及你希望它改進(jìn)的方面
goroutine 這個(gè)特性,用起來很簡潔。期待 GoLang 中的泛型早點(diǎn) release 以及 gc 的分代回收算法。
Go 語言對(duì)大廠和創(chuàng)業(yè)公司來說分別有什么優(yōu)越性?
我認(rèn)為 GoLang 的優(yōu)越性主要體現(xiàn)在這幾點(diǎn):研發(fā)效率、開源生態(tài)、人力招聘,這無論是大廠或者創(chuàng)業(yè)公司都比較看重的,畢竟 ROI 高。
Go有沒有幫助解決公司的實(shí)際問題?
螞蟻在使用 MOSN(GoLang 實(shí)現(xiàn)的云原生網(wǎng)絡(luò)代理) 后,中間件 SDK 的升級(jí)效率從 1~2 次/年提升到 10+次/月,當(dāng)然這其中最大功勞是屬于 Service Mesh,但是 GoLang 語言在背后的高效支撐也是功不可沒的。
對(duì)眾多大廠轉(zhuǎn)Go提一些建議吧,在選型上Go語言適用什么場景,不適用什么場景?
選擇 GoLang 都是看重其學(xué)習(xí)成本低、開發(fā)效率高、周邊生態(tài)豐富等因素。當(dāng)然,語言只是實(shí)現(xiàn)一個(gè)軟件的工具,重要的是選擇一個(gè)適合自身業(yè)務(wù)場景的工具才是最好的。
談一談 Go 的未來,將在哪些領(lǐng)域有更深的應(yīng)用
Go 當(dāng)前的發(fā)展趨勢無論在國內(nèi)還是國外還是很不錯(cuò)的,Go 作為一門云原生語言,隨著其云原生社區(qū)以及生態(tài)的發(fā)展,其在未來也會(huì)占有一席之地。同時(shí) Go 也會(huì)憑借自身的優(yōu)勢為云原生基礎(chǔ)設(shè)施、區(qū)塊鏈、IOT等領(lǐng)域發(fā)力。
介紹下本次分享的議題吧
MOSN 在 Service Mesh 領(lǐng)域作為東西向服務(wù)治理網(wǎng)絡(luò)在螞蟻集團(tuán)雙 11 、春節(jié)紅包等活動(dòng)及開源社區(qū)都得到了一定實(shí)踐,為了能夠讓社區(qū)用戶更好的享受到這一技術(shù)紅利,MOSN 從 2018 年開源以來在社區(qū)開發(fā)者、用戶的共同努力下,使得 MOSN 在云原生演進(jìn)方面做了很多探索和實(shí)踐。該演講主題介紹了云原生網(wǎng)絡(luò)代理 MOSN 是如何結(jié)合控制面 Istio 做服務(wù)治理;如何通過使用 Envoy 作為 MOSN 的網(wǎng)絡(luò)層擴(kuò)展,將 MOSN 和 Envoy 生態(tài)打通,使得網(wǎng)絡(luò)層具備 C++ 高性能的同時(shí),上層業(yè)務(wù)治理能力也能借助 GoLang 進(jìn)行高效的定制化開發(fā);2021 將云原生進(jìn)行到底,更好的為業(yè)務(wù)提效,MOSN 也在 WASM、APPlication Runtime 等方面做了一些探索。
分享一下如何快速掌握一門新的編程語言,分享一些經(jīng)驗(yàn)給新gopher吧。學(xué)習(xí)go的最佳實(shí)踐是什么? 推薦一些書吧!
幾年前做過一個(gè)項(xiàng)目需要同時(shí)用到 C、Lua、GoLang、Python 幾門語言,當(dāng)時(shí)就靠掌握 C 中的一些語法然后去查閱對(duì)應(yīng)語言的表達(dá)方式,總結(jié)來說就是借著自己掌握的一些語法糖去看看對(duì)應(yīng)語言是否具備,然后相互的去貫通,最后你會(huì)發(fā)現(xiàn)很多有趣的東西。GoLang 不知道怎么寫的時(shí)候,多參考下 runtime 的寫法,另外可以參與到一些 GoLang 的開源項(xiàng)目中去,比如 MOSN、Istio、Kubernetes 等等。關(guān)于書籍的話可以看看《Go語言高級(jí)編程》、《Go Web編程》等等。
你是第幾次參加GopherChina,對(duì)GopherChina大會(huì)有何期待?
第二次現(xiàn)場參加 GopherChina 會(huì)議,整體來說 GopherChina 還是很不錯(cuò)的,會(huì)議上不僅有很多的干貨,而且還能認(rèn)識(shí)到不少 gopher 可以一起探討相關(guān)技術(shù)。
想和各位技術(shù)大佬們同臺(tái)見面嘛?
那就趕快點(diǎn)擊下方「閱讀原文」報(bào)名參加呀!
