當前位置:編程學習大全網 - 編程語言 - GO語言商業案例(六):PayPal

GO語言商業案例(六):PayPal

創建 PayPal 的目的是使金融服務民主化,並使個人和企業能夠加入並在全球經濟中蓬勃發展。這項工作的核心是 PayPal 的支付平臺,該平臺使用專有技術和第三方技術的組合來高效、安全地促進全球數百萬商家和消費者之間的交易。隨著支付平臺變得越來越大、越來越復雜,PayPal 尋求對其系統進行現代化改造並縮短新應用程序的上市時間。

Go 在生成幹凈、高效的代碼方面的有著極高的價值。這些代碼可以隨著軟件部署的擴展而輕松擴展,這使得該語言非常適合支持 PayPal 的目標。

支付處理平臺的核心是 PayPal 用 C++ 開發的專有 NoSQL 數據庫。然而,代碼的復雜性大大降低了開發人員發展平臺的能力。Go 的簡單代碼布局、goroutine(輕量級執行線程)和通道(用作連接並發 goroutine 的管道)使 Go 成為 NoSQL 開發團隊簡化和現代化平臺的自然選擇。

作為概念驗證,壹個開發團隊花了六個月的時間學習 Go 並在 Go 中從頭開始重新實現 NoSQL 系統,在此期間,他們還提供了有關如何在 PayPal 更廣泛地實施 Go 的見解。截至今天,已遷移 30% 的集群以使用新的 NoSQL 數據庫。

隨著 PayPal 的平臺變得越來越復雜,Go 提供了壹種輕松簡化大規模創建和運行軟件的復雜性的方法。該語言為 PayPal 提供了出色的庫和快速工具,以及並發、垃圾收集和類型安全。

借助 Go,PayPal 使其開發人員能夠將更多時間從 C++ 和 Java 開發的噪音中解放出來,從而能夠花更多時間查看代碼和進行戰略性思考。

在這個新改寫的 NoSQL 系統取得成功後,PayPal 內更多的平臺和內容團隊開始采用 Go。Natarajan 目前的團隊負責 PayPal 的構建、測試和發布管道——所有這些都是在 Go 中構建的。該公司擁有壹個大型構建和測試農場,它使用 Go 基礎設施進行完全管理,以支持整個公司的開發人員的構建即服務(和測試即服務)。

憑借 PayPal 所需的分布式計算能力,Go 是刷新系統的正確語言。PayPal 需要並發和並行的編程,為高性能和高度可移植性而編譯,並為開發人員帶來模塊化、可組合的開源架構的好處——Go 已經提供了所有這些以及更多幫助 PayPal 對其系統進行現代化改造。

安全性和可支持性是 PayPal 的關鍵問題,該公司的運營管道越來越多地由 Go 主導,因為該語言的簡潔性和模塊化幫助他們實現了這些目標。PayPal 對 Go 的部署為開發人員提供了壹個創意平臺,使他們能夠為 PayPal 的全球市場大規模生產簡單、高效和可靠的軟件。

隨著 PayPal 繼續使用 Go 對其軟件定義網絡 (SDN) 基礎設施進行現代化改造,除了更易於維護的代碼外,他們還看到了性能優勢。例如,Go 現在為路由器、負載平衡和越來越多的生產系統提供動力。

作為壹家全球性企業,PayPal 需要其開發團隊有效管理兩種規模:生產規模,尤其是與許多其他服務器(如雲服務)交互的並發系統;和開發規模,尤其是由許多程序員協同開發的大型代碼庫(如開源開發)

PayPal 利用 Go 來解決這些規模問題。該公司的開發人員受益於 Go 將解釋型動態類型語言的編程易用性與靜態類型編譯語言的效率和安全性相結合的能力。隨著 PayPal 對其系統進行現代化改造,對網絡和多核計算的支持至關重要。Go 不僅提供了這種支持,而且提供的速度很快——在單臺計算機上編譯壹個大型可執行文件最多需要幾秒鐘。

PayPal 目前有 100 多名 Go 開發人員,未來選擇采用 Go 的開發人員將更容易獲得該語言的批準,這要歸功於公司已經在生產中的許多成功實現。

最重要的是,PayPal 開發人員使用 Go 提高了他們的生產力。Go 的並發機制使得編寫充分利用 PayPal 的多核和聯網機器的程序變得很容易。使用 Go 的開發人員還受益於它可以快速編譯為機器代碼的事實,並且他們的應用程序獲得了垃圾收集的便利和運行時反射的強大功能。

今天 PayPal 的第壹類語言是 Java 和 Node,Go 主要用作基礎設施語言。雖然 Go 可能永遠不會在某些應用程序中取代 Node.js,但 Natarajan 正在推動讓 Go 成為 PayPal 的第壹類語言。

通過他的努力,PayPal 還在評估遷移到 Google Kubernetes Engine (GKE) 以加快其新產品的上市時間。GKE 是壹個用於部署容器化應用程序的托管、生產就緒環境,並帶來了 Google 在開發人員生產力、自動化操作和開源靈活性方面的最新創新。

對於 PayPal 而言,部署到 GKE 將使 PayPal 更容易部署、更新和管理其應用程序和服務,從而實現快速開發和叠代。此外,PayPal 會發現更容易運行機器學習、通用 GPU、高性能計算和其他受益於 GKE 支持的專用硬件加速器的工作負載。

對 PayPal 來說最重要的是,Go 開發和 GKE 的結合使公司能夠輕松擴展以滿足需求,因為 Kubernetes 自動擴展將使 PayPal 能夠處理用戶對服務不斷增長的需求——在最重要的時候保持它們可用,然後在安靜的時間來省錢。

  • 上一篇:哪些大學有無人機專業?
  • 下一篇:python培訓學費多少錢
  • copyright 2024編程學習大全網