1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        國外竟然有這么多公司使用 Go

        共 10622字,需瀏覽 22分鐘

         ·

        2021-06-03 00:16

        閱讀本文大概需要 20 分鐘。

        大家好,我是 polarisxu。

        一直以來,各種語言都是國外大規(guī)模使用,但 Go 語言很不一樣,國內(nèi)更火。因?yàn)檫@樣,有些人質(zhì)疑:Go 也就國人瞎炒作,國外根本沒啥公司用。真的是這樣嗎?今天就盤點(diǎn)一下那些使用 Go 的國外公司,看看他們的案例,希望對大家的技術(shù)選型有所借鑒!

        為了更清晰,以下盤點(diǎn)進(jìn)行了必要的歸類。文章較長,請耐心瀏覽完,對各行各業(yè)使用 Go 的情況有一個(gè)大致了解。再有人質(zhì)疑 Go 沒人用,可以把這篇文章「砸過去。

        注意:Google 內(nèi)部也是有好幾個(gè)項(xiàng)目使用 Go 的,這塊之前有專門介紹過,以后也會更詳細(xì)介紹 Google 使用 Go 的情況,這個(gè)列表就沒有列出 Google。

        01 技術(shù)平臺公司

        技術(shù)平臺提供了一組加速應(yīng)用程序開發(fā)的通用功能,因此可以更快地將解決方案部署到業(yè)務(wù)中。它們通常要求高的可擴(kuò)展性和可靠性,這正是 Golang 所擅長的。

        Dropbox

        Dropbox 有些人可能用過。在國內(nèi)云盤流行之前,很多人使用它。Dropbox 的成功很大程度上歸功于 Python:它使公司能夠快速開發(fā)和迭代。然而,隨著用戶基數(shù)的不斷增長,他們開始探索以更有效的方式擴(kuò)展系統(tǒng)。這導(dǎo)致將性能至關(guān)重要的后端從 Python 遷移到 Go,以利用更好的并發(fā)支持和更快的執(zhí)行速度。

        對 Dropbox 來說,這個(gè)工程是巨大的。沒有點(diǎn)魄力和對 Go 語言足夠的調(diào)研和信心,真不敢邁出這一步。因?yàn)橛写蠹s 20萬行 Go 代碼,需要由一小組工程師完成。現(xiàn)在他們已經(jīng)成功地將基礎(chǔ)設(shè)施的主要部分移到了 Go 上。其中的細(xì)節(jié),有興趣的可以看看這個(gè)視頻:https://www.youtube.com/watch?v=JOx9enktnUM

        因?yàn)閲L到了 Go 高效的甜頭,Dropbox 將基礎(chǔ)設(shè)施都使用 Go 構(gòu)建,同時(shí)新業(yè)務(wù)也都優(yōu)先考慮使用 Go。

        此外,Dropbox 還開放了幾個(gè)有助于改進(jìn)緩存、標(biāo)準(zhǔn)錯(cuò)誤接口等的 Golang 庫,關(guān)于這些庫的信息,可以參考該文:https://dropbox.tech/infrastructure/open-sourcing-our-go-libraries。

        在 2020 年,Dropbox 對 Python 整體代碼庫下手,并將其發(fā)展成為一個(gè)無服務(wù)器的托管平臺,這將減少代碼耦合,解放服務(wù)及其底層工程師團(tuán)隊(duì)。為此,他們正在創(chuàng)新體系結(jié)構(gòu),例如標(biāo)準(zhǔn)化 gRPC 和使用 Envoy’s  gRPC-http 轉(zhuǎn)碼。其中細(xì)節(jié),可以看看他們幾個(gè)禮拜前發(fā)的一篇博文:https://dropbox.tech/infrastructure/atlas--our-journey-from-a-python-monolith-to-a-managed-platform。

        SendGrid

        這個(gè)公司很多人可能沒聽過,但我熟悉,因?yàn)樗峁┑泥]件服務(wù)我在使用。網(wǎng)站給用戶發(fā)郵件,其實(shí)是一個(gè)很苦惱的事情。Go 語言中文網(wǎng)之前一直使用騰訊企業(yè)郵,但經(jīng)常提示超過發(fā)送額度。后來我找到了 SendGrid,然后一直使用它的產(chǎn)品。沒想到他們也在使用 Go。

        下面簡單介紹下它。

        SendGrid 是一個(gè)基于云計(jì)算的電子郵件服務(wù),為世界上一些大公司可靠地發(fā)送大量的電子郵件,這些公司包括 Uber、 Airbnb、 Spotify 等等。他們使用 Golang 開發(fā)了 SendGrid 的可定制、可靠和可伸縮的 API。這樣的電子郵件應(yīng)用程序可以在正確的時(shí)間將最相關(guān)的內(nèi)容發(fā)送給正確的用戶。

        從根本上說,SendGrid 在開發(fā)中面臨的最大挑戰(zhàn)是并發(fā)編程。為什么這么說?因?yàn)樗麄兠刻彀l(fā)送 5 億條信息,這是極具挑戰(zhàn)性的。

        他們?yōu)槭裁催x擇 Go 語言,這篇文章是他們的回答:https://sendgrid.com/blog/convince-company-go-golang/。

        02 在線預(yù)訂系統(tǒng)

        在線預(yù)訂系統(tǒng)允許通過網(wǎng)絡(luò)或移動應(yīng)用程序訂購服務(wù)和支付,允許企業(yè)進(jìn)行規(guī)模化經(jīng)營。作為日常操作的一部分,這些系統(tǒng)需要一流的可靠性、可伸縮性以及與其他系統(tǒng)的集成。

        Uber(優(yōu)步)

        盡管從歷史上看,Uber 主要使用 Node.js 和 Python,但是很多人 Gopher 應(yīng)該知曉,他們已經(jīng)有很多服務(wù)使用 Go 構(gòu)建,包括他們開源的一些流行庫,一些 Go 代碼規(guī)范,在 Go 圈都很受歡迎。Go 語言已經(jīng)成為 Uber 許多新服務(wù)的首選語言。這是它們的 Go 組織:https://github.com/uber-go,在這里可以找到他們開源的 Go 相關(guān)項(xiàng)目。

        Uber  已經(jīng)有超過 100 個(gè)服務(wù)是使用 Go 構(gòu)建的。Geobase 是 Uber 最近推出的一個(gè)服務(wù),也是使用 Go 構(gòu)建的,該服務(wù)匹配乘客和司機(jī)。在 Uber 上,Go 每秒處理極大量的查詢。

        2016 年,Uber 一個(gè)工程師在官方博客發(fā)了一篇文章:https://eng.uber.com/go-geofence-highest-query-per-second-service/,文章提到了:

        • Go 有很高的開發(fā)效率。對于 C++,Java 或 Node.js 開發(fā)人員,學(xué)習(xí) Go 通常只需要幾天,并且 Go 的代碼易于維護(hù)。
        • 高性能、低延遲。在 Uber 的主數(shù)據(jù)中心,服務(wù)于非中國的流量(因?yàn)楫?dāng)時(shí)在中國正和滴滴競爭,所以中國的流量必然得額外算),這項(xiàng)服務(wù)處理了 170k QPS 的峰值負(fù)載,在 NYE 2015 上有 40 臺機(jī)器以 35% 的 CPU 使用率運(yùn)行。響應(yīng)時(shí)間在 95 百分位 < 5ms,在 99 百分位 < 50ms。
        • 超級可靠。這項(xiàng)服務(wù)自啟動以來已經(jīng)有 99.99% 的正常運(yùn)行時(shí)間。唯一的停機(jī)時(shí)間是由初學(xué)者編程錯(cuò)誤和第三方庫中的文件描述符泄漏漏洞造成的。重要的是,我們沒有發(fā)現(xiàn) Go 運(yùn)行時(shí)有任何問題。

        Delivery Hero

        這個(gè)公司,我之前不了解

        Delivery Hero 正在建設(shè)下一代全球在線食品訂購平臺。它們使用微服務(wù)體系結(jié)構(gòu),而 API REST、 gRPC、 SQS/SNS 用于部署到基于云的基礎(chǔ)設(shè)施的應(yīng)用程序之間的通信,使用 Kubernetes/Docker,并遵循 12 factors。

        Go 和 PHP 是他們的主要語言,但是 Go 正在成為 foodora 和 foodpanda 平臺的核心技術(shù)。

        trivago

        一個(gè)旅行網(wǎng)站。2020 年初,他們在網(wǎng)站發(fā)了一篇文章:https://tech.trivago.com/2020/03/02/why-we-chose-go/,介紹他們?yōu)槭裁催x擇 Go。

        Go 的簡單性和它強(qiáng)大的工具讓我們不僅可以擴(kuò)展我們的服務(wù),更重要的是擴(kuò)展軟件工程本身的過程,減少新員工入職和培訓(xùn)過程中的摩擦,對公司的生產(chǎn)率有著重大影響,在 trivago 這樣不斷變化的環(huán)境中更是如此。

        Sixt

        SIXT 是世界上最大的技術(shù)驅(qū)動的移動公司之一。它允許客戶計(jì)劃他們的旅程,通過遠(yuǎn)程信息處理打開和關(guān)閉汽車,審查他們的使用數(shù)據(jù)等等。它是建立在最先進(jìn)的云本地化、基于微服務(wù)、事件驅(qū)動的 Golang 基礎(chǔ)設(shè)施之上的。

        自 2015 年以來,他們就開始使用 Golang。那時(shí)候,他們那沒有多少人在生產(chǎn)環(huán)境上使用 Go,大部分是輔助項(xiàng)目。所以對他們來說這確實(shí)是一個(gè)大膽的舉動,但是事實(shí)證明這是相當(dāng)成功的。快進(jìn)到 2019 年,他們有超過 15 個(gè) Team 在使用 Go。

        這篇文章詳細(xì)介紹了他們使用 Go 的情況:https://www.facebook.com/sixtkarriere/posts/find-out-more-about-golang-at-sixt-to-become-a-godeveloper-mfd-at-sixt-click-her/2049632898495842/。

        03 電子商務(wù)

        電子商務(wù)初創(chuàng)企業(yè)、中小企業(yè)和大型企業(yè)都面臨著頁面加載時(shí)間、可擴(kuò)展性和網(wǎng)站可用性等方面的挑戰(zhàn)。Golang 被廣泛用于解決這些問題。

        Allegro

        這是波蘭最大的在線購物平臺。超過 2100 萬的注冊用戶和每月超過 2.2 億的訪問量,在全球在線銷售領(lǐng)域排名第 13 位。

        和國內(nèi)的淘寶類似,雖然大多數(shù)微服務(wù)是用 Java 或其他基于 JVM 的語言編寫的,但有些是用 Python 編寫的。然而,當(dāng)想編寫一個(gè)非常快速的緩存服務(wù)時(shí),他們決定嘗試一些新的東西,并在 Go 中實(shí)現(xiàn)這個(gè)服務(wù)。

        最后,我們將應(yīng)用程序的加速時(shí)間從超過 2.5 秒提高到最長請求的不足 250 毫秒

        2016 年,他們寫了一篇文章,介紹他們使用 Go 實(shí)現(xiàn)這個(gè)緩存服務(wù)的情況:https://blog.allegro.tech/2016/03/writing-fast-cache-service-in-go.html,這就是 BigCache。

        Mercadolibre

        公司擁有拉丁美洲最大的在線商務(wù)生態(tài)系統(tǒng),在 18 個(gè)國家都有業(yè)務(wù)。公司已經(jīng)轉(zhuǎn)向 Go 來幫助它擴(kuò)大規(guī)模并使其生態(tài)系統(tǒng)現(xiàn)代化。

        通過使用 Go,他們將服務(wù)器的數(shù)量從 32 臺減少到 4 臺,構(gòu)建速度加快了 3 倍,測試套件運(yùn)行時(shí)間從 90 秒減少到 3 秒。

        Go 對我們來說太神奇了。它非常強(qiáng)大,而且非常容易學(xué)習(xí),并且擁有后端基礎(chǔ)設(shè)施,在可擴(kuò)展性方面對我們來說非常有幫助。

        他們使用 Go 的案例可以參考該文:https://go.dev/solutions/mercadolibre/。

        04 金融科技

        在金融科技領(lǐng)域,許多客戶對金融數(shù)據(jù)的需求是 24*7 無間斷。在處理交易和訪問財(cái)務(wù)數(shù)據(jù)方面,Go 是一個(gè)非常合適的語言。

        SolarisBank

        這是一家擁有完整的德國銀行許可證的科技公司。他們的“銀行即服務(wù)”平臺使企業(yè)能夠使用簡單的 api 提供自己的金融產(chǎn)品,比如數(shù)字銀行、支付、信用卡、身份識別和借貸服務(wù)。

        從銀行業(yè)的戰(zhàn)壕深處到服務(wù)的邊緣,Go 在 Solarisbank 被多個(gè)團(tuán)隊(duì)使用:

        • 核心銀行團(tuán)隊(duì) —— 建立骨干,協(xié)議級銀行系統(tǒng),如環(huán)??偩趾铜h(huán)球銀行金融電信協(xié)會
        • Auth Team —— 反向代理和身份驗(yàn)證/授權(quán)系統(tǒng)
        • 數(shù)據(jù)平臺團(tuán)隊(duì) —— 建立管道(pipeline),作為將數(shù)據(jù)轉(zhuǎn)化為知識的基礎(chǔ)設(shè)施

        該公司的主要技術(shù)棧如下:

        Docker,Microservices,Ruby,Grape,Golang,Elixir,Phoenix,React.js,MySQL,Postgres,Redis,Concourse,GitHub,Prometheus,AWS

        更多信息可以參考該文:https://boards.greenhouse.io/solarisbank/jobs/4220372002。

        Monzo Bank

        總部位于英國的初創(chuàng)企業(yè) Monzo 于 2017 年 4 月獲得正式銀行牌照。它在 2019 年夏天為美國開設(shè)了一個(gè)等候名單。

        對于銀行操作系統(tǒng),他們決定建立自己的平臺,使用的主要是開源生態(tài):Linux、 Cassandra 分布式數(shù)據(jù)庫、Go 語言和 PostgreSQL?;A(chǔ)設(shè)施托管在亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)云上。該銀行的兩個(gè)數(shù)據(jù)中心用于與萬事達(dá)卡(Mastercard)系統(tǒng)進(jìn)行交互。

        Go 是創(chuàng)建微服務(wù)架構(gòu)的完美語言,圍繞著‘單一責(zé)任原則’,Go 的并發(fā)特性和通用型語言,使得在 Monzo 輕松創(chuàng)建小而簡單的網(wǎng)絡(luò)服務(wù)成為可能。

        關(guān)于他們使用 Go 的更多信息可以參考該文:https://www.infoq.com/news/2017/03/monzo-bank-golang/。

        Capital One

        這是一家以科技為導(dǎo)向的金融公司。他們的服務(wù)之一是 Credit Offers API,其中的聯(lián)盟合作伙伴如 Credit Sesame、 CreditCards.com 和 Bankrate 顯示可用的信用卡選項(xiàng)。

        在 2016 年中期,他們?yōu)?API 創(chuàng)建了新的 Go 端點(diǎn)。

        Go 在 Capital One 開始獲得了巨大的、令人印象深刻的動力,基于我的團(tuán)隊(duì)整合的 POC,我們看到了與 Java 的巨大性能提升。這些結(jié)果很清楚,所以我們決定將其用于這個(gè)新的端點(diǎn)。當(dāng)時(shí),沒有一個(gè)團(tuán)隊(duì)成員知道 Go,但不到一個(gè)月,每個(gè)人都用 Go 寫東西,我們在構(gòu)建端點(diǎn)。它的靈活性、易用性和 Go 背后真正酷的概念(Go 如何處理原生并發(fā)、垃圾收集,當(dāng)然還有安全 + 速度)在構(gòu)建過程中幫助我們參與進(jìn)來。

        詳細(xì)情況一通過該文了解:https://medium.com/capital-one-tech/a-serverless-and-go-journey-credit-offers-api-74ef1f9fde7f。

        05 支付系統(tǒng)

        支付系統(tǒng),一直依賴似乎都是 Java 的天下。

        支付處理系統(tǒng)允許企業(yè)使用信用卡、借記卡和支票為商品和服務(wù)進(jìn)行支付。這些系統(tǒng)檢查交易過程中收到的詳細(xì)資料,并在結(jié)算交易之前采取一系列反欺詐措施。

        對于 24*7 的服務(wù),穩(wěn)定性和自動恢復(fù)是必須的,因此要求在支付處理流水線中的每個(gè)步驟都需要 Go 提供的盡可能低的延遲。

        American Express

        美國運(yùn)通主要以其信用卡和支付處理而聞名。截至 2019 年 12 月 31 日,該公司已有 1.144 億張有效卡,其中包括 5470 萬張?jiān)诿绹行У目ā?/p>

        2016 年,他們的付款和獎勵(lì)平臺團(tuán)隊(duì)是第一批開始評估 Go 的團(tuán)隊(duì)之一。他們的主要關(guān)注點(diǎn)是微服務(wù)、事務(wù)路由和負(fù)載均衡,并且他們需要對其體系結(jié)構(gòu)進(jìn)行現(xiàn)代化改造。

        在 Go 上工作之后,我們的大多數(shù)開發(fā)人員都不想回到其他語言上?!?ー Benjamin Cane,美國運(yùn)通公司副總裁兼首席工程師

        為了幫助其他企業(yè)確定 Go 是否適合他們,他們發(fā)布了一個(gè) Go 案例研究:https://americanexpress.io/choosing-go/。

        PayPal

        PayPal 是在線支付的先驅(qū),現(xiàn)在仍然是在線供應(yīng)商、拍賣網(wǎng)站和世界各地許多其他商業(yè)用戶的領(lǐng)先支付處理器。

        目前在 PayPal 有超過 100 個(gè) Go 開發(fā)者。雖然 Go 可能永遠(yuǎn)不會取代 Node.js 的某些應(yīng)用程序,但 Go 是 PayPal 的一級語言。

        Go 提供了處理復(fù)雜性的通道和 Goroutine,我們能構(gòu)造代碼來滿足需求。

        信息來源:https://go.dev/solutions/paypal/。

        iZettle

        Zettle 開發(fā)了改變游戲規(guī)則的商業(yè)工具,比如移動讀卡器和銷售點(diǎn)應(yīng)用程序,這些應(yīng)用程序賦予小企業(yè)與大企業(yè)競爭的能力。他們于 2010 年在斯德哥爾摩成立,用世界上第一個(gè)迷你芯片讀卡器和移動設(shè)備軟件徹底改變了移動支付。

        Go 是 iZettle 的主要后端語言。技術(shù)棧包括用于持久化的 PostgreSQL 和 Dynamo,用于異步服務(wù)的 AmazonSQS 和 AmazonSNS。

        更多信息參考:https://careers.sh/pl/firma/izettle/prace/68805。

        Bolt

        Bolt Payments 是電子商務(wù)零售商的一個(gè)一體化支付平臺。他們的端到端支付平臺旨在使整個(gè)結(jié)賬體驗(yàn)盡可能無摩擦。

        為了提高他們的靈活性,Bolt 團(tuán)隊(duì)創(chuàng)建了 sleet,一個(gè)開源的庫,用于使用 Golang 與不同的 PSPs 接口。

        我們的靈感來源于 ActiveMerchant,它是另一個(gè)用 Ruby on Rails 編寫的庫,也達(dá)到了同樣的目的。在確認(rèn) Go 沒有這樣的解決方案之后,我們決定自己開發(fā)。

        06 網(wǎng)絡(luò)安全

        前段時(shí)間,我寫文提到,說 Go Team 越來越重視安全問題了。安全和隱私持續(xù)引起人們的興趣,網(wǎng)絡(luò)安全市場正在蓬勃發(fā)展,并繼續(xù)增長。靜態(tài)語言、注重安全的 Golang 非常適合該領(lǐng)域,并在服務(wù)器和云環(huán)境中得到廣泛應(yīng)用。

        1Password

        這個(gè)是大名鼎鼎的密碼管理軟件。保護(hù)著超過 60,000 家企業(yè)的數(shù)據(jù),1Password 讓你完全控制密碼和其他敏感的商業(yè)信息。

        1Password Administrator Tools 的后端完全用 Golang 編寫。它使管理員能夠?yàn)檎麄€(gè)公司管理 1Password,并使帳戶恢復(fù)簡單,安全。

        (據(jù)說現(xiàn)在挺多部分改用 Rust 實(shí)現(xiàn)了。。。)

        Keybase

        Keybase 是允許用戶加密消息和驗(yàn)證身份的密鑰目錄(key directory)。

        為什么要在 Keybase 使用 Go?Go 的庫真是太棒了。過去,我花了很多時(shí)間在 OKCupid 上使用 C++ ,很難找到一個(gè)真正協(xié)同工作的庫。相反的,Go 中大量的核心庫,基本上可以滿足你的所有需求。

        信息來源:https://softwareengineeringdaily.com/2015/09/04/identity-and-encryption-with-keybase-founder-max-krohn/。

        07 音樂和視頻

        Golang 的 HLS 等協(xié)議使構(gòu)建流服務(wù)變得容易,安裝簡單,同時(shí)提供最高效的性能。它支持最常用的文件和編碼格式。使用該語言進(jìn)行流媒體播放的最大優(yōu)勢是速度,尤其是在直播方面。如果在編碼、解碼和打包視頻和音頻時(shí)沒有無縫轉(zhuǎn)換,就不可能實(shí)現(xiàn)流媒體直播。Go 處理所有這些流程很方便,可以給用戶更好的體驗(yàn)。

        SoundCloud

        這是一個(gè)消費(fèi)者網(wǎng)站,是網(wǎng)絡(luò)上領(lǐng)先的音頻平臺,這意味著任何東西都可以和大家分享。SoundCloud 維護(hù)了大約 6 個(gè)服務(wù)和超過 12 個(gè)完全使用 Go 編寫的倉庫。當(dāng)開發(fā)新的后端項(xiàng)目時(shí),他們也越來越多地轉(zhuǎn)向 Go。

        關(guān)于 Go 在他們公司的具體情況,可以通過這篇文章詳細(xì)了解:https://developers.soundcloud.com/blog/go-at-soundcloud。

        Twitch

        這是一個(gè)直播視頻平臺,主要關(guān)注視頻游戲的直播,同時(shí)也播放音樂、創(chuàng)意內(nèi)容、電子競技比賽等等。

        Twitch 在流量最大的系統(tǒng)中使用 Go。它的簡單性、安全性、性能和可讀性使它成為一個(gè)很好的工具,解決了在向數(shù)百萬用戶提供實(shí)時(shí)視頻和聊天服務(wù)時(shí)遇到的問題。Go 是 Twitch scales 的重要組成部分,尤其是與 AWS Lambda 的結(jié)合。

        在 2018 年 Twitch 使用了 RPC 框架,不同服務(wù)間的通訊通過 Twirp 這個(gè)框架實(shí)現(xiàn),這是一個(gè) Go 語言實(shí)現(xiàn)的 RPC 框架。關(guān)于該框架的信息參考該文:https://blog.twitch.tv/pl-pl/2018/01/16/twirp-a-sweet-new-rpc-framework-for-go-5f2febbf35f/。

        Dailymotion

        這是一個(gè)在法國托管的視頻分享網(wǎng)站。這個(gè)網(wǎng)站類似于 YouTube,它播放視頻,包括 Dailymotion 工作室創(chuàng)建的原創(chuàng)內(nèi)容。Dailymotion 使用 Golang 實(shí)現(xiàn)自動化 api 和端到端測試用例。

        他們每個(gè)月使用 Golang 進(jìn)行數(shù)百次自動化測試。他們選擇 Golang 進(jìn)行大量的自動化測試,因?yàn)樗焖俣鴱?qiáng)大。由于其性能、靜態(tài)類型檢查和簡單性,他們用 Golang 開發(fā)了大部分后端項(xiàng)目。

        08 IM 領(lǐng)域

        聊天服務(wù)器必須能夠執(zhí)行許多功能。并發(fā)性很重要,在構(gòu)建消息傳遞應(yīng)用程序時(shí)利用了高可伸縮性。在消息需要幾乎同時(shí)發(fā)送和接收的時(shí)候,Go 的速度有利于支持消息和聊天平臺中的項(xiàng)目。

        Stream

        Stream 是一個(gè)企業(yè)級的聊天和活動提供商,為超過 10 億的最終用戶提供服務(wù)。

        Go 的優(yōu)秀生態(tài)系統(tǒng)、新開發(fā)人員容易入門、快速性能、對并發(fā)性的友好支持和高效編程環(huán)境的組合使其成為一個(gè)很好的選擇。使得 Stream 這樣小型開發(fā)團(tuán)隊(duì)能為超過 5 億的終端用戶提供 feed 和聊天功能。

        他們發(fā)表過為什么從 Python 遷移到 Go 的文章:https://getstream.io/blog/switched-python-go/。

        Slack

        很多人對此不陌生。全球超過 1000 萬用戶每天依靠 Slack 與同事合作。隨著用戶數(shù)量的增加,他們的重點(diǎn)也在增強(qiáng)性能,并確保它們在高負(fù)載下正常運(yùn)行。

        他們團(tuán)隊(duì)發(fā)表的相關(guān)文章:

        • https://slack.engineering/scaling-slacks-job-queue/
        • https://slack.engineering/load-testing-with-koi-pond/

        09 物聯(lián)網(wǎng)(IoT)

        隨著物聯(lián)網(wǎng)的不斷發(fā)展和邊緣設(shè)備數(shù)量的迅速增加,需要對大量數(shù)據(jù)迅速處理和計(jì)算。Golang 的內(nèi)置并發(fā)性使得這種語言成為許多物聯(lián)網(wǎng)應(yīng)用的優(yōu)秀候選者。

        Samsara

        Samsara 平臺帶來了人工智能安全程序、實(shí)時(shí)可視性、工作流程、報(bào)告以及一個(gè)集成的生態(tài)系統(tǒng)來連接驅(qū)動經(jīng)濟(jì)的運(yùn)作:從生產(chǎn)到物流、建筑、政府等等。

        該物聯(lián)網(wǎng)平臺完全使用 Go 構(gòu)建:

        • 后端服務(wù)(包括自己的、開源的 GraphQL 實(shí)現(xiàn))
        • 云配置,包括 fenerating Terraform 文件,管理用戶和團(tuán)隊(duì)等
        • 運(yùn)行設(shè)備的固件

        信息來源:https://medium.com/samsara-engineering/a-chapter-in-the-life-of-gos-compiler-c89b9db74617。

        TIBCO

        2017 年,TIBCO 開放了其核心項(xiàng)目 Flogo。最初,F(xiàn)logo 是物聯(lián)網(wǎng)框架,后來發(fā)展成為一個(gè)專注于 FaaS 的框架。

        今天,F(xiàn)logo 運(yùn)行在 AWS Lambda 上,使你能夠?qū)?Flogo 流作為 function 部署。此外,F(xiàn)logo 最新的能力之一是支持嵌入式機(jī)器學(xué)習(xí)模型,可以部署在邊緣設(shè)備。

        10 Real-time 事件平臺

        隨著人們對更高效、更準(zhǔn)確的工具和智能的需求不斷增加,實(shí)時(shí)事件平臺經(jīng)歷了難以置信的變化。為了保持領(lǐng)先地位,公司不得不更新和改進(jìn)他們的系統(tǒng),以便對應(yīng)用程序中的事件作出的響應(yīng)幾乎是即時(shí)發(fā)送的。速度是 Golang 的招牌,因?yàn)樗Y(jié)合了輕量級的內(nèi)存需求和快速的交付時(shí)間,這將使你的客戶對應(yīng)用程序的服務(wù)感到滿意。

        Pusher

        在全世界 25 萬以上的開發(fā)者的網(wǎng)絡(luò)和移動應(yīng)用程序中使用 api 來創(chuàng)建協(xié)作和通信功能。

        每天,Pusher 在不到 100 毫秒的時(shí)間內(nèi)發(fā)送數(shù)十億條實(shí)時(shí)消息:源到目的地。我們?nèi)绾螌?shí)現(xiàn)這一目標(biāo)?一個(gè)關(guān)鍵因素是 Go 的低延遲垃圾收集器。

        詳細(xì)信息可參考:https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/index.html。

        PubNative

        一個(gè)移動貨幣化平臺,允許應(yīng)用程序發(fā)布者通過靈活的廣告單元來提高他們的收入策略。它使移動發(fā)布商最大化他們的程序性廣告收入。

        由于每天大約有 25B 左右的流量,PubNative 的廣告服務(wù)端是用 Go 編寫的,并連接到 Spark 數(shù)據(jù)管道。

        11 游戲領(lǐng)域

        隨著游戲持續(xù)以指數(shù)級增長,你所使用語言能否跟上你的系統(tǒng)可能需要的任何更新是很重要的。使用現(xiàn)有的 Go 庫,如 Nano,一個(gè)用 Go 編寫的游戲服務(wù)器庫,可以通過預(yù)先編寫代碼來減少編程所需的時(shí)間,這些代碼可以在你的項(xiàng)目中使用。這可以幫助你專注于游戲的其他方面,節(jié)省你寶貴的時(shí)間。

        Riot Games

        Riot Games 成立于 2006 年,致力于在全球開發(fā)以玩家為中心的游戲。2009 年,他們發(fā)布了處女作,《英雄聯(lián)盟》已經(jīng)成為世界上大家玩得最多的電腦游戲,也是電子競技爆炸式增長的關(guān)鍵驅(qū)動力。

        Riot 的一級服務(wù)端語言是 Java 和 Go,它們是可互操作的,并且相對容易打包和部署。

        他們喜歡 Go 有很多原因,包括:

        • 部署工具,用于部署和管理運(yùn)行在 Docker 運(yùn)行時(shí)中的服務(wù)的生命周期
        • 為了最小化向后端可觀察性平臺轉(zhuǎn)發(fā)日志和指標(biāo)時(shí)的請求延遲
        • 在多個(gè)項(xiàng)目中,使用 Golang 的 httputil 反向代理來處理代理請求,為請求的生命周期添加中間件來注入額外的身份驗(yàn)證或頭部
        • 整個(gè)后端微服務(wù)架構(gòu)都是使用 Golang 構(gòu)建的——從游戲服務(wù)器流程的分離和管理到購買商品,所有的事情都是使用 Go 編寫的服務(wù)完成的

        這里是他們發(fā)的文章:https://technology.riotgames.com/news/leveraging-golang-game-development-and-operations。

        Nakama

        提供實(shí)時(shí)、社交和多人游戲體驗(yàn)需要的一切,讓游戲開發(fā)公司可以專注于開發(fā)令人驚嘆的游戲。他們用來構(gòu)建、部署和賺錢的開源工具箱,就是使用 Golang 構(gòu)建的。

        Nakama 處理超過 1.5 億玩家的游戲,并每月處理超過 700 億請求。

        信息來源:https://heroiclabs.com/。

        12 總結(jié)

        看到這么多領(lǐng)域,這么多公司,你是不是很驚嘆:原來 Go 可以在這么多領(lǐng)域大放異彩,而且有這么多公司在使用。不管有些公司使用的規(guī)模如何,至少,有 Go 的一席之地。

        Go 語言在性能和開發(fā)人員生產(chǎn)力之間取得了很好的平衡。在接下來的 10 年里,隨著云解決方案、物聯(lián)網(wǎng)數(shù)據(jù)和 5G 等新技術(shù)的使用不斷增加,Golang 畢竟會吸引越來越多的公司。

        看了這么公司和方向,你還懷疑 Go 的前景嗎?!



        推薦閱讀


        福利

        我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。關(guān)注公眾號 「polarisxu」,回復(fù) ebook 獲??;還可以回復(fù)「進(jìn)群」,和數(shù)萬 Gopher 交流學(xué)習(xí)。

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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            操你逼视频 | 日韩中字无码 | 国产一级二级三级在线观看 | 小乔脱了内裤打开腿让人摸 | a级无码视频 | 女绿被调教成公厕h文 | 午夜福利久久久 | 久久一区二区三区欧美 | 国产精品99久久久久久一二区 | 小娇孩性freesexhd |