成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go 企業應用案例分享:Go 用于支付和獎勵系統

開發 后端
Go 與其他編程語言的不同之處在于認知負載。你可以用更少的代碼做更多的事情,這樣可以更容易地推理和理解你最終編寫的代碼。

[[437855]]

大家好,我是程序員幽鬼。

今天分享 Go 在企業中的應用案例,該案例是美國運通公司(Express)。該公司的一個總監這樣評價 Go 語言:

Go 與其他編程語言的不同之處在于認知負載。你可以用更少的代碼做更多的事情,這樣可以更容易地推理和理解你最終編寫的代碼。

大多數 Go 代碼最終看起來非常相似,因此,即使你使用的是全新的代碼庫,你也可以非常快速地上手并運行。

總的一句話,他們認為:Go 可改善微服務并提高生產力。

美國運通公司將 Go 應用于支付和薪酬系統。美國運通的支付處理系統是在其悠久的歷史中發展起來的,并且已經通過多種架構演變進行了更新。在任何更新中,支付處理都需要快速,特別是在非常大的交易量下,并且必須跨系統構建彈性,這些系統必須完全符合安全和監管標準。借助 Go,美國運通獲得了支付和獎勵網絡所需的速度和可擴展性。

美國運通明白,編程語言的格局正在發生巨大變化。該公司的現有系統是專門為高并發和低延遲而構建的,但知道這些系統將在不久的將來重新構建平臺。支付平臺團隊決定花時間確定哪些語言是滿足美國運通不斷變化的需求的理想選擇。

美國運通的支付和獎勵平臺團隊是最早開始評估 Go 的團隊之一。這些團隊專注于微服務、事務路由和負載均衡等業務,他們需要對其架構進行現代化改造。許多美國運通開發人員都熟悉該語言的功能,并希望在其高并發和低延遲應用程序(例如自定義事務負載均衡器)中試用 Go。考慮到這一目標,團隊開始游說高級領導層在美國運通支付平臺上部署 Go。

"我們希望找到最佳語言來編寫快速高效的支付處理應用程序,"美國運通副總裁兼首席工程師 Benjamin Cane 說。“為此,我們開始了一場內部編程語言的對決,目標是看看哪種語言最適合我們的設計和性能需求。”

比較語言

對于他們的評估,Cane 的團隊選擇用四種不同的編程語言構建微服務。然后,他們比較了這四種語言的速度/性能、工具、測試和易開發性。

對于該服務,他們決定使用 ISO8583 到 JSON 轉換器。ISO8583 是金融交易的國際標準,在美國運通的支付網絡中常用。對于編程語言,他們選擇比較 C++,Go,Java 和 Node.js。除了 Go 之外,所有這些語言都已經在美國運通中使用。

從速度的角度來看,Go 以每秒 140,000 個請求獲得了第二好的性能。這表明,Go 用于后端微服務時表現出色。

雖然 Go 不是測試結果最快的語言,但其強大的工具有助于提高其整體結果。Go 內置測試框架,profiling 和基準測試工具給團隊留下了深刻的印象。“在 Go 中編寫有效的測試很容易,” Cane說。“基準測試和 profiling 功能使我們的應用程序變得簡單。再加上其快速的構建時間,用 Go 編寫經過充分測試和優化的代碼很容易。”

最終,Go 被團隊選為構建高性能微服務的首選語言。工具、測試框架、性能和語言簡單性都是關鍵因素。

基礎架構

“我們的許多服務都在我們基于 Kubernetes 的內部云平臺的 Docker 容器中運行,” Cane 說。Kubernetes 是一個用 Go 編寫的開源容器編排系統。它提供了主機集群來運行基于容器的工作負載,尤其是 Docker 容器。Docker 是一個軟件產品,也是用 Go 編寫的,它使用操作系統級虛擬化來提供稱為容器的可移植軟件運行時。

美國運通還通過 Prometheus 收集應用程序指標,Prometheus 是一個用 Go 編寫的開源監控和警報工具包。Prometheus 收集和聚合實時事件和指標,以進行監視和警報。

這三大 Go 解決方案(Kubernetes、Docker 和 Prometheus)幫助實現了美國運通基礎設施的現代化。

使用 Go 提高性能

如今,許多開發人員正在美國運通使用 Go 進行編程,其中大多數開發人員都在為高可用性和性能而設計的平臺上工作。

“工具一直是我們遺留代碼庫需要的關鍵領域,” Cane 說。“我們發現 Go 具有出色的工具,以及內置的測試、基準測試和 profiling 框架。編寫高效且有彈性的應用程序很容易。”

Cane 甚至說,在使用 Go 開發后,大多數開發人員都不想回到其他語言了。

美國運通才剛剛開始看到圍棋的好處。例如,Go 從頭開始設計時就考慮到了并發性 - 使用輕量級的"goroutines"而不是更重的操作系統線程 - 使得在同一地址空間中創建數十萬個 goroutines 變得切實可行。使用goroutines,美國運通在其實時交易處理中看到了改進的性能數字。

Go 的垃圾回收也是對其他語言的重大改進,無論是在性能還是易于開發方面。“我們看到 Go 中的垃圾回收效果比其他語言要好得多,用于實時事務處理的垃圾回收是一件大事,” Cane 說。“調整其他語言的垃圾回收可能非常復雜。使用 Go,你不需要調整任何東西。”

這里有一篇 Cane 寫的詳細文章,關于美國運通為什么選擇 Go:https://americanexpress.io/choosing-go/。

在他們的 GitHub 主頁,可以看到有幾個 Go 開源項目:https://github.com/americanexpress。

本文轉載自微信公眾號「幽鬼」,可以通過以下二維碼關注。轉載本文請聯系幽鬼公眾號。

 

責任編輯:武曉燕 來源: 幽鬼
相關推薦

2022-05-13 23:46:52

GO編程內存

2024-01-02 00:18:56

Buffalo項目Go Web框架

2022-07-25 15:38:59

Go 語言Go 語言編譯器內存逃逸

2021-02-03 15:10:38

GoKubernetesLinux

2017-09-07 15:53:51

Go支付Java

2023-12-01 08:01:33

GoValidator

2017-03-01 11:06:33

2021-06-09 07:15:20

Go枚舉技巧

2021-10-12 18:32:17

Go框架測試

2022-04-08 09:01:56

腳本Go應用單元

2022-10-10 11:37:14

Gomap內存

2012-06-25 14:01:10

云計算案例

2022-11-09 11:50:21

2024-10-16 09:57:52

空結構體map屬性

2012-02-16 10:18:04

Nginx壓力測試

2024-11-11 09:39:11

Cloudflare遷移Go

2023-11-27 18:07:05

Go并發編程

2012-07-06 13:16:37

Google Go

2021-10-14 08:07:33

Go 應用Prometheus監控

2012-03-20 09:20:40

Go語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品日韩精品 | 精品一区二区三区不卡 | www.99热这里只有精品 | 毛片a级| 国产黄色av网站 | 在线国产视频 | 国产视频日韩 | 超碰在线人人 | 男女免费观看在线爽爽爽视频 | 久久一二 | 国产精品欧美一区二区三区不卡 | 国产小视频在线 | 国产精品一区二区在线 | 91亚洲国产亚洲国产 | 一区二区不卡 | 色吊丝在线 | 久久久久久久久久久久久9999 | 91.com视频 | 久久99久久99久久 | 99久久久久国产精品免费 | 中国美女av| 亚洲一区二区三区欧美 | 成人欧美一区二区三区在线播放 | 国产高清久久 | 久久精品国产免费一区二区三区 | 天天干天天干 | 亚洲系列第一页 | 三级视频在线观看电影 | 99久视频 | 日韩欧美在线精品 | 欧美日韩精品在线一区 | 97av视频在线| 不卡av电影在线播放 | 人人射人人 | 国产精品成人在线播放 | 国产福利视频在线观看 | 免费精品| 一区二区三区在线观看视频 | 国产一区久久 | 91精品国产一区二区三区动漫 | 婷婷久久网|