盤點那些使用 Go 語言的國外公司(盤點那些使用 go 語言的國外公司有哪些)
大家好,我是 polarisxu。
一直以來,各種語言都是國外大規(guī)模使用,但 Go 語言很不一樣,國內(nèi)更火。因為這樣,有些人質(zhì)疑:Go 也就國人瞎炒作,國外根本沒啥公司用。真的是這樣嗎?今天就盤點一下那些使用 Go 的國外公司,看看他們的案例,希望對大家的技術(shù)選型有所借鑒!
為了更清晰,以下盤點進行了必要的歸類。文章較長,請耐心瀏覽完,對各行各業(yè)使用 Go 的情況有一個大致了解。再有人質(zhì)疑 Go 沒人用,可以把這篇文章「砸過去」
。
01 技術(shù)平臺公司
技術(shù)平臺提供了一組加速應用程序開發(fā)的通用功能,因此可以更快地將解決方案部署到業(yè)務中。它們通常要求高的可擴展性和可靠性,這正是 Golang 所擅長的。
Dropbox
Dropbox 有些人可能用過。在國內(nèi)云盤流行之前,很多人使用它。Dropbox 的成功很大程度上歸功于 Python:它使公司能夠快速開發(fā)和迭代。然而,隨著用戶基數(shù)的不斷增長,他們開始探索以更有效的方式擴展系統(tǒng)。這導致將性能至關(guān)重要的后端從 Python 遷移到 Go,以利用更好的并發(fā)支持和更快的執(zhí)行速度。
對 Dropbox 來說,這個工程是巨大的。沒有點魄力和對 Go 語言足夠的調(diào)研和信心,真不敢邁出這一步。因為有大約 20萬行 Go 代碼,需要由一小組工程師完成?,F(xiàn)在他們已經(jīng)成功地將基礎(chǔ)設施的主要部分移到了 Go 上。其中的細節(jié),有興趣的可以看看這個視頻:https://www.youtube.com/watch?v=JOx9enktnUM
因為嘗到了 Go 高效的甜頭,Dropbox 將基礎(chǔ)設施都使用 Go 構(gòu)建,同時新業(yè)務也都優(yōu)先考慮使用 Go。
此外,Dropbox 還開放了幾個有助于改進緩存、標準錯誤接口等的 Golang 庫,關(guān)于這些庫的信息,可以參考該文:https://dropbox.tech/infrastructure/open-sourcing-our-go-libraries。
在 2020 年,Dropbox 對 Python 整體代碼庫下手,并將其發(fā)展成為一個無服務器的托管平臺,這將減少代碼耦合,解放服務及其底層工程師團隊。為此,他們正在創(chuàng)新體系結(jié)構(gòu),例如標準化 gRPC 和使用 Envoy’s gRPC-http 轉(zhuǎn)碼。其中細節(jié),可以看看他們幾個禮拜前發(fā)的一篇博文:https://dropbox.tech/infrastructure/atlas–our-journey-from-a-python-monolith-to-a-managed-platform。
SendGrid
這個公司很多人可能沒聽過,但我熟悉,因為它提供的郵件服務我在使用。網(wǎng)站給用戶發(fā)郵件,其實是一個很苦惱的事情。Go 語言中文網(wǎng)之前一直使用騰訊企業(yè)郵,但經(jīng)常提示超過發(fā)送額度。后來我找到了 SendGrid,然后一直使用它的產(chǎn)品。沒想到他們也在使用 Go。
下面簡單介紹下它。
SendGrid 是一個基于云計算的電子郵件服務,為世界上一些大公司可靠地發(fā)送大量的電子郵件,這些公司包括 Uber、 Airbnb、 Spotify 等等。他們使用 Golang 開發(fā)了 SendGrid 的可定制、可靠和可伸縮的 API。這樣的電子郵件應用程序可以在正確的時間將最相關(guān)的內(nèi)容發(fā)送給正確的用戶。
從根本上說,SendGrid 在開發(fā)中面臨的最大挑戰(zhàn)是并發(fā)編程。為什么這么說?因為他們每天發(fā)送 5 億條信息,這是極具挑戰(zhàn)性的。
他們?yōu)槭裁催x擇 Go 語言,這篇文章是他們的回答:https://sendgrid.com/blog/convince-company-go-golang/。
02 在線預訂系統(tǒng)
在線預訂系統(tǒng)允許通過網(wǎng)絡或移動應用程序訂購服務和支付,允許企業(yè)進行規(guī)?;?jīng)營。作為日常操作的一部分,這些系統(tǒng)需要一流的可靠性、可伸縮性以及與其他系統(tǒng)的集成。
Uber(優(yōu)步)
盡管從歷史上看,Uber 主要使用 Node.js 和 Python,但是很多人 Gopher 應該知曉,他們已經(jīng)有很多服務使用 Go 構(gòu)建,包括他們開源的一些流行庫,一些 Go 代碼規(guī)范,在 Go 圈都很受歡迎。Go 語言已經(jīng)成為 Uber 許多新服務的首選語言。這是它們的 Go 組織:https://github.com/uber-go,在這里可以找到他們開源的 Go 相關(guān)項目。
Uber 已經(jīng)有超過 100 個服務是使用 Go 構(gòu)建的。Geobase 是 Uber 最近推出的一個服務,也是使用 Go 構(gòu)建的,該服務匹配乘客和司機。在 Uber 上,Go 每秒處理極大量的查詢。
2016 年,Uber 一個工程師在官方博客發(fā)了一篇文章:https://eng.uber.com/go-geofence-highest-query-per-second-service/,文章提到了:
- Go 有很高的開發(fā)效率。對于 C ,Java 或 Node.js 開發(fā)人員,學習 Go 通常只需要幾天,并且 Go 的代碼易于維護。
- 高性能、低延遲。在 Uber 的主數(shù)據(jù)中心,服務于非中國的流量(因為當時在中國正和滴滴競爭,所以中國的流量必然得額外算),這項服務處理了 170k QPS 的峰值負載,在 NYE 2015 上有 40 臺機器以 35% 的 CPU 使用率運行。響應時間在 95 百分位 < 5ms,在 99 百分位 < 50ms。
- 超級可靠。這項服務自啟動以來已經(jīng)有 99.99% 的正常運行時間。唯一的停機時間是由初學者編程錯誤和第三方庫中的文件描述符泄漏漏洞造成的。重要的是,我們沒有發(fā)現(xiàn) Go 運行時有任何問題。
Delivery Hero
這個公司,我之前不了解
Delivery Hero 正在建設下一代全球在線食品訂購平臺。它們使用微服務體系結(jié)構(gòu),而 API REST、 gRPC、 SQS/SNS 用于部署到基于云的基礎(chǔ)設施的應用程序之間的通信,使用 Kubernetes/Docker,并遵循 12 factors。
Go 和 PHP 是他們的主要語言,但是 Go 正在成為 foodora 和 foodpanda 平臺的核心技術(shù)。
trivago
一個旅行網(wǎng)站。2020 年初,他們在網(wǎng)站發(fā)了一篇文章:https://tech.trivago.com/2020/03/02/why-we-chose-go/,介紹他們?yōu)槭裁催x擇 Go。
Go 的簡單性和它強大的工具讓我們不僅可以擴展我們的服務,更重要的是擴展軟件工程本身的過程,減少新員工入職和培訓過程中的摩擦,對公司的生產(chǎn)率有著重大影響,在 trivago 這樣不斷變化的環(huán)境中更是如此。
Sixt
SIXT 是世界上最大的技術(shù)驅(qū)動的移動公司之一。它允許客戶計劃他們的旅程,通過遠程信息處理打開和關(guān)閉汽車,審查他們的使用數(shù)據(jù)等等。它是建立在最先進的云本地化、基于微服務、事件驅(qū)動的 Golang 基礎(chǔ)設施之上的。
自 2015 年以來,他們就開始使用 Golang。那時候,他們那沒有多少人在生產(chǎn)環(huán)境上使用 Go,大部分是輔助項目。所以對他們來說這確實是一個大膽的舉動,但是事實證明這是相當成功的??爝M到 2019 年,他們有超過 15 個 Team 在使用 Go。
這篇文章詳細介紹了他們使用 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 電子商務
電子商務初創(chuàng)企業(yè)、中小企業(yè)和大型企業(yè)都面臨著頁面加載時間、可擴展性和網(wǎng)站可用性等方面的挑戰(zhàn)。Golang 被廣泛用于解決這些問題。
Allegro
這是波蘭最大的在線購物平臺。超過 2100 萬的注冊用戶和每月超過 2.2 億的訪問量,在全球在線銷售領(lǐng)域排名第 13 位。
和國內(nèi)的淘寶類似,雖然大多數(shù)微服務是用 Java 或其他基于 JVM 的語言編寫的,但有些是用 Python 編寫的。然而,當想編寫一個非??焖俚木彺娣諘r,他們決定嘗試一些新的東西,并在 Go 中實現(xiàn)這個服務。
最后,我們將應用程序的加速時間從超過 2.5 秒提高到最長請求的不足 250 毫秒
2016 年,他們寫了一篇文章,介紹他們使用 Go 實現(xiàn)這個緩存服務的情況:https://blog.allegro.tech/2016/03/writing-fast-cache-service-in-go.html,這就是 BigCache。
Mercadolibre
公司擁有拉丁美洲最大的在線商務生態(tài)系統(tǒng),在 18 個國家都有業(yè)務。公司已經(jīng)轉(zhuǎn)向 Go 來幫助它擴大規(guī)模并使其生態(tài)系統(tǒng)現(xiàn)代化。
通過使用 Go,他們將服務器的數(shù)量從 32 臺減少到 4 臺,構(gòu)建速度加快了 3 倍,測試套件運行時間從 90 秒減少到 3 秒。
Go 對我們來說太神奇了。它非常強大,而且非常容易學習,并且擁有后端基礎(chǔ)設施,在可擴展性方面對我們來說非常有幫助。
他們使用 Go 的案例可以參考該文:https://go.dev/solutions/mercadolibre/。
04 金融科技
在金融科技領(lǐng)域,許多客戶對金融數(shù)據(jù)的需求是 24*7 無間斷。在處理交易和訪問財務數(shù)據(jù)方面,Go 是一個非常合適的語言。
SolarisBank
這是一家擁有完整的德國銀行許可證的科技公司。他們的“銀行即服務”平臺使企業(yè)能夠使用簡單的 api 提供自己的金融產(chǎn)品,比如數(shù)字銀行、支付、信用卡、身份識別和借貸服務。
從銀行業(yè)的戰(zhàn)壕深處到服務的邊緣,Go 在 Solarisbank 被多個團隊使用:
- 核心銀行團隊 —— 建立骨干,協(xié)議級銀行系統(tǒng),如環(huán)??偩趾?span id="qsh1b7padf" class="candidate-entity-word" data-gid="7469997">環(huán)球銀行金融電信協(xié)會
- Auth Team —— 反向代理和身份驗證/授權(quán)系統(tǒng)
- 數(shù)據(jù)平臺團隊 —— 建立管道(pipeline),作為將數(shù)據(jù)轉(zhuǎn)化為知識的基礎(chǔ)設施
該公司的主要技術(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 年夏天為美國開設了一個等候名單。
對于銀行操作系統(tǒng),他們決定建立自己的平臺,使用的主要是開源生態(tài):Linux、 Cassandra 分布式數(shù)據(jù)庫、Go 語言和 PostgreSQL?;A(chǔ)設施托管在亞馬遜網(wǎng)絡服務(AWS)云上。該銀行的兩個數(shù)據(jù)中心用于與萬事達卡(Mastercard)系統(tǒng)進行交互。
Go 是創(chuàng)建微服務架構(gòu)的完美語言,圍繞著‘單一責任原則’,Go 的并發(fā)特性和通用型語言,使得在 Monzo 輕松創(chuàng)建小而簡單的網(wǎng)絡服務成為可能。
關(guān)于他們使用 Go 的更多信息可以參考該文:https://www.infoq.com/news/2017/03/monzo-bank-golang/。
Capital One
這是一家以科技為導向的金融公司。他們的服務之一是 Credit Offers API,其中的聯(lián)盟合作伙伴如 Credit Sesame、 CreditCards.com 和 Bankrate 顯示可用的信用卡選項。
在 2016 年中期,他們?yōu)?API 創(chuàng)建了新的 Go 端點。
Go 在 Capital One 開始獲得了巨大的、令人印象深刻的動力,基于我的團隊整合的 POC,我們看到了與 Java 的巨大性能提升。這些結(jié)果很清楚,所以我們決定將其用于這個新的端點。當時,沒有一個團隊成員知道 Go,但不到一個月,每個人都用 Go 寫東西,我們在構(gòu)建端點。它的靈活性、易用性和 Go 背后真正酷的概念(Go 如何處理原生并發(fā)、垃圾收集,當然還有安全 速度)在構(gòu)建過程中幫助我們參與進來。
詳細情況一通過該文了解:https://medium.com/capital-one-tech/a-serverless-and-go-journey-credit-offers-api-74ef1f9fde7f。
05 支付系統(tǒng)
支付系統(tǒng),一直依賴似乎都是 Java 的天下。
支付處理系統(tǒng)允許企業(yè)使用信用卡、借記卡和支票為商品和服務進行支付。這些系統(tǒng)檢查交易過程中收到的詳細資料,并在結(jié)算交易之前采取一系列反欺詐措施。
對于 24*7 的服務,穩(wěn)定性和自動恢復是必須的,因此要求在支付處理流水線中的每個步驟都需要 Go 提供的盡可能低的延遲。
American Express
美國運通主要以其信用卡和支付處理而聞名。截至 2019 年 12 月 31 日,該公司已有 1.144 億張有效卡,其中包括 5470 萬張在美國有效的卡。
2016 年,他們的付款和獎勵平臺團隊是第一批開始評估 Go 的團隊之一。他們的主要關(guān)注點是微服務、事務路由和負載均衡,并且他們需要對其體系結(jié)構(gòu)進行現(xiàn)代化改造。
在 Go 上工作之后,我們的大多數(shù)開發(fā)人員都不想回到其他語言上?!?ー Benjamin Cane,美國運通公司副總裁兼首席工程師
為了幫助其他企業(yè)確定 Go 是否適合他們,他們發(fā)布了一個 Go 案例研究:https://americanexpress.io/choosing-go/。
PayPal
PayPal 是在線支付的先驅(qū),現(xiàn)在仍然是在線供應商、拍賣網(wǎng)站和世界各地許多其他商業(yè)用戶的領(lǐng)先支付處理器。
目前在 PayPal 有超過 100 個 Go 開發(fā)者。雖然 Go 可能永遠不會取代 Node.js 的某些應用程序,但 Go 是 PayPal 的一級語言。
Go 提供了處理復雜性的通道和 Goroutine,我們能構(gòu)造代碼來滿足需求。
信息來源:https://go.dev/solutions/paypal/。
iZettle
Zettle 開發(fā)了改變游戲規(guī)則的商業(yè)工具,比如移動讀卡器和銷售點應用程序,這些應用程序賦予小企業(yè)與大企業(yè)競爭的能力。他們于 2010 年在斯德哥爾摩成立,用世界上第一個迷你芯片讀卡器和移動設備軟件徹底改變了移動支付。
Go 是 iZettle 的主要后端語言。技術(shù)棧包括用于持久化的 PostgreSQL 和 Dynamo,用于異步服務的 AmazonSQS 和 AmazonSNS。
更多信息參考:https://careers.sh/pl/firma/izettle/prace/68805。
Bolt
Bolt Payments 是電子商務零售商的一個一體化支付平臺。他們的端到端支付平臺旨在使整個結(jié)賬體驗盡可能無摩擦。
為了提高他們的靈活性,Bolt 團隊創(chuàng)建了 sleet,一個開源的庫,用于使用 Golang 與不同的 PSPs 接口。
我們的靈感來源于 ActiveMerchant,它是另一個用 Ruby on Rails 編寫的庫,也達到了同樣的目的。在確認 Go 沒有這樣的解決方案之后,我們決定自己開發(fā)。
06 網(wǎng)絡安全
前段時間,我寫文提到,說 Go Team 越來越重視安全問題了。安全和隱私持續(xù)引起人們的興趣,網(wǎng)絡安全市場正在蓬勃發(fā)展,并繼續(xù)增長。靜態(tài)語言、注重安全的 Golang 非常適合該領(lǐng)域,并在服務器和云環(huán)境中得到廣泛應用。
1Password
這個是大名鼎鼎的密碼管理軟件。保護著超過 60,000 家企業(yè)的數(shù)據(jù),1Password 讓你完全控制密碼和其他敏感的商業(yè)信息。
1Password Administrator Tools 的后端完全用 Golang 編寫。它使管理員能夠為整個公司管理 1Password,并使帳戶恢復簡單,安全。
Keybase
Keybase 是允許用戶加密消息和驗證身份的密鑰目錄(key directory)。
為什么要在 Keybase 使用 Go?Go 的庫真是太棒了。過去,我花了很多時間在 OKCupid 上使用 C ,很難找到一個真正協(xié)同工作的庫。相反的,Go 中大量的核心庫,基本上可以滿足你的所有需求。
信息來源:https://softwareengineeringdaily.com/2015/09/04/identity-and-encryption-with-keybase-founder-max-krohn/。
07 音樂和視頻
Golang 的 HLS 等協(xié)議使構(gòu)建流服務變得容易,安裝簡單,同時提供最高效的性能。它支持最常用的文件和編碼格式。使用該語言進行流媒體播放的最大優(yōu)勢是速度,尤其是在直播方面。如果在編碼、解碼和打包視頻和音頻時沒有無縫轉(zhuǎn)換,就不可能實現(xiàn)流媒體直播。Go 處理所有這些流程很方便,可以給用戶更好的體驗。
SoundCloud
這是一個消費者網(wǎng)站,是網(wǎng)絡上領(lǐng)先的音頻平臺,這意味著任何東西都可以和大家分享。SoundCloud 維護了大約 6 個服務和超過 12 個完全使用 Go 編寫的倉庫。當開發(fā)新的后端項目時,他們也越來越多地轉(zhuǎn)向 Go。
關(guān)于 Go 在他們公司的具體情況,可以通過這篇文章詳細了解:https://developers.soundcloud.com/blog/go-at-soundcloud。
Twitch
這是一個直播視頻平臺,主要關(guān)注視頻游戲的直播,同時也播放音樂、創(chuàng)意內(nèi)容、電子競技比賽等等。
Twitch 在流量最大的系統(tǒng)中使用 Go。它的簡單性、安全性、性能和可讀性使它成為一個很好的工具,解決了在向數(shù)百萬用戶提供實時視頻和聊天服務時遇到的問題。Go 是 Twitch scales 的重要組成部分,尤其是與 AWS Lambda 的結(jié)合。
在 2018 年 Twitch 使用了 RPC 框架,不同服務間的通訊通過 Twirp 這個框架實現(xiàn),這是一個 Go 語言實現(xiàn)的 RPC 框架。關(guān)于該框架的信息參考該文:https://blog.twitch.tv/pl-pl/2018/01/16/twirp-a-sweet-new-rpc-framework-for-go-5f2febbf35f/。
Dailymotion
這是一個在法國托管的視頻分享網(wǎng)站。這個網(wǎng)站類似于 YouTube,它播放視頻,包括 Dailymotion 工作室創(chuàng)建的原創(chuàng)內(nèi)容。Dailymotion 使用 Golang 實現(xiàn)自動化 api 和端到端測試用例。
他們每個月使用 Golang 進行數(shù)百次自動化測試。他們選擇 Golang 進行大量的自動化測試,因為它快速而強大。由于其性能、靜態(tài)類型檢查和簡單性,他們用 Golang 開發(fā)了大部分后端項目。
08 IM 領(lǐng)域
聊天服務器必須能夠執(zhí)行許多功能。并發(fā)性很重要,在構(gòu)建消息傳遞應用程序時利用了高可伸縮性。在消息需要幾乎同時發(fā)送和接收的時候,Go 的速度有利于支持消息和聊天平臺中的項目。
Stream
Stream 是一個企業(yè)級的聊天和活動提供商,為超過 10 億的最終用戶提供服務。
Go 的優(yōu)秀生態(tài)系統(tǒng)、新開發(fā)人員容易入門、快速性能、對并發(fā)性的友好支持和高效編程環(huán)境的組合使其成為一個很好的選擇。使得 Stream 這樣小型開發(fā)團隊能為超過 5 億的終端用戶提供 feed 和聊天功能。
他們發(fā)表過為什么從 Python 遷移到 Go 的文章:https://getstream.io/blog/switched-python-go/。
Slack
很多人對此不陌生。全球超過 1000 萬用戶每天依靠 Slack 與同事合作。隨著用戶數(shù)量的增加,他們的重點也在增強性能,并確保它們在高負載下正常運行。
他們團隊發(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ù)據(jù)迅速處理和計算。Golang 的內(nèi)置并發(fā)性使得這種語言成為許多物聯(lián)網(wǎng)應用的優(yōu)秀候選者。
Samsara
Samsara 平臺帶來了人工智能安全程序、實時可視性、工作流程、報告以及一個集成的生態(tài)系統(tǒng)來連接驅(qū)動經(jīng)濟的運作:從生產(chǎn)到物流、建筑、政府等等。
該物聯(lián)網(wǎng)平臺完全使用 Go 構(gòu)建:
- 后端服務(包括自己的、開源的 GraphQL 實現(xiàn))
- 云配置,包括 fenerating Terraform 文件,管理用戶和團隊等
- 運行設備的固件
信息來源:https://medium.com/samsara-engineering/a-chapter-in-the-life-of-gos-compiler-c89b9db74617。
TIBCO
2017 年,TIBCO 開放了其核心項目 Flogo。最初,F(xiàn)logo 是物聯(lián)網(wǎng)框架,后來發(fā)展成為一個專注于 FaaS 的框架。
今天,F(xiàn)logo 運行在 AWS Lambda 上,使你能夠?qū)?Flogo 流作為 function 部署。此外,F(xiàn)logo 最新的能力之一是支持嵌入式機器學習模型,可以部署在邊緣設備。
10 Real-time 事件平臺
隨著人們對更高效、更準確的工具和智能的需求不斷增加,實時事件平臺經(jīng)歷了難以置信的變化。為了保持領(lǐng)先地位,公司不得不更新和改進他們的系統(tǒng),以便對應用程序中的事件作出的響應幾乎是即時發(fā)送的。速度是 Golang 的招牌,因為它結(jié)合了輕量級的內(nèi)存需求和快速的交付時間,這將使你的客戶對應用程序的服務感到滿意。
Pusher
在全世界 25 萬以上的開發(fā)者的網(wǎng)絡和移動應用程序中使用 api 來創(chuàng)建協(xié)作和通信功能。
每天,Pusher 在不到 100 毫秒的時間內(nèi)發(fā)送數(shù)十億條實時消息:源到目的地。我們?nèi)绾螌崿F(xiàn)這一目標?一個關(guān)鍵因素是 Go 的低延遲垃圾收集器。
詳細信息可參考:https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/index.html。
PubNative
一個移動貨幣化平臺,允許應用程序發(fā)布者通過靈活的廣告單元來提高他們的收入策略。它使移動發(fā)布商最大化他們的程序性廣告收入。
由于每天大約有 25B 左右的流量,PubNative 的廣告服務端是用 Go 編寫的,并連接到 Spark 數(shù)據(jù)管道。
11 游戲領(lǐng)域
隨著游戲持續(xù)以指數(shù)級增長,你所使用語言能否跟上你的系統(tǒng)可能需要的任何更新是很重要的。使用現(xiàn)有的 Go 庫,如 Nano,一個用 Go 編寫的游戲服務器庫,可以通過預先編寫代碼來減少編程所需的時間,這些代碼可以在你的項目中使用。這可以幫助你專注于游戲的其他方面,節(jié)省你寶貴的時間。
Riot Games
Riot Games 成立于 2006 年,致力于在全球開發(fā)以玩家為中心的游戲。2009 年,他們發(fā)布了處女作,《英雄聯(lián)盟》已經(jīng)成為世界上大家玩得最多的電腦游戲,也是電子競技爆炸式增長的關(guān)鍵驅(qū)動力。
Riot 的一級服務端語言是 Java 和 Go,它們是可互操作的,并且相對容易打包和部署。
他們喜歡 Go 有很多原因,包括:
- 部署工具,用于部署和管理運行在 Docker 運行時中的服務的生命周期
- 為了最小化向后端可觀察性平臺轉(zhuǎn)發(fā)日志和指標時的請求延遲
- 在多個項目中,使用 Golang 的 httputil 反向代理來處理代理請求,為請求的生命周期添加中間件來注入額外的身份驗證或頭部
- 整個后端微服務架構(gòu)都是使用 Golang 構(gòu)建的——從游戲服務器流程的分離和管理到購買商品,所有的事情都是使用 Go 編寫的服務完成的
這里是他們發(fā)的文章:https://technology.riotgames.com/news/leveraging-golang-game-development-and-operations。
Nakama
提供實時、社交和多人游戲體驗需要的一切,讓游戲開發(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 的前景嗎?!