<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          谷歌內(nèi)部 Go 使用案例:核心數(shù)據(jù)解決方案團(tuán)隊(duì)是如何使用 Go 的?

          共 1846字,需瀏覽 4分鐘

           ·

          2020-10-06 06:28

          點(diǎn)擊上方藍(lán)色“Go語言中文網(wǎng)”關(guān)注,回復(fù)「電子書」領(lǐng)全套Go資料

          關(guān)于 Google 的核心數(shù)據(jù):

          Google 是一家技術(shù)公司,其使命是組織全世界的信息,并使其普遍可訪問和有用。

          在這個(gè)案例研究中,Google 的核心數(shù)據(jù)解決方案團(tuán)隊(duì)分享了他們的 Go 旅程,包括他們決定在 Go 中重寫 web 索引服務(wù),利用 Go 的內(nèi)置并發(fā)性,并觀察 Go 如何幫助改進(jìn)開發(fā)過程。

          核心數(shù)據(jù)

          Google 的使命是“組織世界各地的信息,并使其普遍可訪問和有用。” Google 的核心數(shù)據(jù)解決方案團(tuán)隊(duì)是負(fù)責(zé)組織該信息的團(tuán)隊(duì)之一。除此之外,該團(tuán)隊(duì)維護(hù)服務(wù)以索引全球的網(wǎng)頁。這些網(wǎng)絡(luò)索引服務(wù)通過保持搜索結(jié)果的更新和全面來幫助支持諸如 Google 搜索之類的產(chǎn)品,這些產(chǎn)品都是用 Go 語言編寫的。

          2015 年,為了跟上 Google 的規(guī)模,我們的團(tuán)隊(duì)需要我們將索引堆棧從用 C++ 編寫的單個(gè)整體二進(jìn)制代碼重寫為微服務(wù)架構(gòu)中的多個(gè)組件。我們決定使用 Go 重寫許多索引服務(wù),現(xiàn)在我們將其用于支持大多數(shù)架構(gòu)。

          “ 因?yàn)楣膭?lì)團(tuán)隊(duì)中的工程師使用并發(fā)和并行算法,所以 Go 的內(nèi)置并發(fā)是很自然的選擇。” —Minjae Hwang, 軟件工程師

          選擇語言時(shí),我們的團(tuán)隊(duì)發(fā)現(xiàn) Go 的多種特性特別適合。例如,因?yàn)楣膭?lì)團(tuán)隊(duì)中的工程師使用并發(fā)和并行算法,所以 Go 的內(nèi)置并發(fā)是很自然的選擇。工程師還發(fā)現(xiàn),“ Go 代碼更為自然”,使他們可以將時(shí)間花在業(yè)務(wù)邏輯和分析上,而不是在管理內(nèi)存和優(yōu)化性能上。

          使用 Go 時(shí),編寫的代碼要簡單的多,因?yàn)樗兄跍p輕開發(fā)過程中的認(rèn)知負(fù)擔(dān)。例如,當(dāng)使用 C++ 時(shí),復(fù)雜的 IDE 可能“顯示出源代碼沒有編譯錯(cuò)誤實(shí)際上確實(shí)有錯(cuò)誤”,而“在 Go 中,當(dāng) IDE 指出代碼沒有錯(cuò)誤時(shí),代碼總是會(huì)編譯。” Core Data Solutions 團(tuán)隊(duì)的軟件工程師 MinJae Hwang 說。減少開發(fā)過程中的小摩擦點(diǎn),例如縮短修復(fù)編譯錯(cuò)誤的周期,有助于我們的團(tuán)隊(duì)在原始重寫期間更快地發(fā)布,并有助于保持較低的維護(hù)成本。

          “當(dāng)我使用 C++ 并想使用更多軟件包時(shí),必須寫一些 header 文件。當(dāng)我用 Go 語言時(shí),內(nèi)置工具使我可以更輕松地使用軟件包。我的開發(fā)速度要快得多

          通過簡單的語言語法和 Go 工具的支持,我們團(tuán)隊(duì)中的一些成員發(fā)現(xiàn)用 Go 編寫代碼要容易的多。我們還發(fā)現(xiàn) Go 在靜態(tài)類型檢查方面做得非常好,并且某些 Go 基礎(chǔ)知識(shí)(例如 godoc 命令)已幫助團(tuán)隊(duì)圍繞編寫文檔建立了更規(guī)范的規(guī)則。

          “…在一年內(nèi)重新設(shè)計(jì)了 Google 的網(wǎng)絡(luò)索引。更令人印象深刻的是,團(tuán)隊(duì)中的大多數(shù)開發(fā)人員在學(xué)習(xí) Go 的同時(shí)也用 Go 進(jìn)行了重寫。”— Prasanna Meda,軟件工程師

          研發(fā)在全球范圍內(nèi)被廣泛使用的產(chǎn)品絕非易事,而我們團(tuán)隊(duì)使用 Go 的決定并不是一件容易的事,但是這樣做有助于我們更快地行動(dòng)。結(jié)果,在一年內(nèi)重新設(shè)計(jì)了 Google 的網(wǎng)絡(luò)索引。更令人印象深刻的是,該團(tuán)隊(duì)中的大多數(shù)開發(fā)人員在學(xué)習(xí) Go 的同時(shí)就用 Go 完成重寫。

          除了核心數(shù)據(jù)解決方案團(tuán)隊(duì)外,Google 的工程團(tuán)隊(duì)在開發(fā)過程中也采用了Go。了解 Chrome[1]Firebase 托管[2]團(tuán)隊(duì)如何使用 Go 來大規(guī)模構(gòu)建快速,可靠和高效的軟件。關(guān)于他們的下次分享。

          原文鏈接:https://go.dev/solutions/google/coredata/

          作者:Prasanna Meda, Software Engineer, Core Data Solutions

          翻譯:polarisxu

          參考資料

          [1]

          Chrome: https://go.dev/solutions/google/chrome/

          [2]

          Firebase 托管: https://go.dev/solutions/google/firebase/



          推薦閱讀

          • xxx


          福利

          我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包(下圖只是部分),同時(shí)還包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。

          關(guān)注公眾號(hào) 「polarisxu」,回復(fù) ebook 獲取;還可以回復(fù)「進(jìn)群」,和數(shù)萬 Gopher 交流學(xué)習(xí)。


          瀏覽 26
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费精品久久久久久中文字幕-无删减 | 狠狠躁日日躁夜夜躁A片男男视频 | 黄色电影网站在线免费观看 | 内射免费视频 | 欧美日韩一区二区三区电影 |