Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽為“21世紀的C語言”。
成都創(chuàng)新互聯(lián)專注于襄州企業(yè)網站建設,響應式網站設計,購物商城網站建設。襄州網站建設公司,為襄州等地區(qū)提供建站服務。全流程按需搭建網站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
Go語言在云計算、大數(shù)據(jù)、微服務、高并發(fā)領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
Go語言能干什么?
1、服務端開發(fā):以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;
2、DevOps:運維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發(fā);
3、網絡編程:大量優(yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內置的 net/http包十分的優(yōu)秀;
4、Paas云平臺領域:Kubernetes和Docker Swarm等;
5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區(qū)塊鏈領域:區(qū)塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現(xiàn)的;
8、爬蟲及大數(shù)據(jù):Go語言天生支持并發(fā),所以十分適合編寫分布式爬蟲及大數(shù)據(jù)處理。
創(chuàng)建 PayPal 的目的是使金融服務民主化,并使個人和企業(yè)能夠加入并在全球經濟中蓬勃發(fā)展。這項工作的核心是 PayPal 的支付平臺,該平臺使用專有技術和第三方技術的組合來高效、安全地促進全球數(shù)百萬商家和消費者之間的交易。隨著支付平臺變得越來越大、越來越復雜,PayPal 尋求對其系統(tǒng)進行現(xiàn)代化改造并縮短新應用程序的上市時間。
Go 在生成干凈、高效的代碼方面的有著極高的價值。這些代碼可以隨著軟件部署的擴展而輕松擴展,這使得該語言非常適合支持 PayPal 的目標。
支付處理平臺的核心是 PayPal 用 C++ 開發(fā)的專有 NoSQL 數(shù)據(jù)庫。然而,代碼的復雜性大大降低了開發(fā)人員發(fā)展平臺的能力。Go 的簡單代碼布局、goroutine(輕量級執(zhí)行線程)和通道(用作連接并發(fā) goroutine 的管道)使 Go 成為 NoSQL 開發(fā)團隊簡化和現(xiàn)代化平臺的自然選擇。
作為概念驗證,一個開發(fā)團隊花了六個月的時間學習 Go 并在 Go 中從頭開始重新實現(xiàn) NoSQL 系統(tǒng),在此期間,他們還提供了有關如何在 PayPal 更廣泛地實施 Go 的見解。截至今天,已遷移 30% 的集群以使用新的 NoSQL 數(shù)據(jù)庫。
隨著 PayPal 的平臺變得越來越復雜,Go 提供了一種輕松簡化大規(guī)模創(chuàng)建和運行軟件的復雜性的方法。該語言為 PayPal 提供了出色的庫和快速工具,以及并發(fā)、垃圾收集和類型安全。
借助 Go,PayPal 使其開發(fā)人員能夠將更多時間從 C++ 和 Java 開發(fā)的噪音中解放出來,從而能夠花更多時間查看代碼和進行戰(zhàn)略性思考。
在這個新改寫的 NoSQL 系統(tǒng)取得成功后,PayPal 內更多的平臺和內容團隊開始采用 Go。Natarajan 目前的團隊負責 PayPal 的構建、測試和發(fā)布管道——所有這些都是在 Go 中構建的。該公司擁有一個大型構建和測試農場,它使用 Go 基礎設施進行完全管理,以支持整個公司的開發(fā)人員的構建即服務(和測試即服務)。
憑借 PayPal 所需的分布式計算能力,Go 是刷新系統(tǒng)的正確語言。PayPal 需要并發(fā)和并行的編程,為高性能和高度可移植性而編譯,并為開發(fā)人員帶來模塊化、可組合的開源架構的好處——Go 已經提供了所有這些以及更多幫助 PayPal 對其系統(tǒng)進行現(xiàn)代化改造。
安全性和可支持性是 PayPal 的關鍵問題,該公司的運營管道越來越多地由 Go 主導,因為該語言的簡潔性和模塊化幫助他們實現(xiàn)了這些目標。PayPal 對 Go 的部署為開發(fā)人員提供了一個創(chuàng)意平臺,使他們能夠為 PayPal 的全球市場大規(guī)模生產簡單、高效和可靠的軟件。
隨著 PayPal 繼續(xù)使用 Go 對其軟件定義網絡 (SDN) 基礎設施進行現(xiàn)代化改造,除了更易于維護的代碼外,他們還看到了性能優(yōu)勢。例如,Go 現(xiàn)在為路由器、負載平衡和越來越多的生產系統(tǒng)提供動力。
作為一家全球性企業(yè),PayPal 需要其開發(fā)團隊有效管理兩種規(guī)模:生產規(guī)模,尤其是與許多其他服務器(如云服務)交互的并發(fā)系統(tǒng);和開發(fā)規(guī)模,尤其是由許多程序員協(xié)同開發(fā)的大型代碼庫(如開源開發(fā))
PayPal 利用 Go 來解決這些規(guī)模問題。該公司的開發(fā)人員受益于 Go 將解釋型動態(tài)類型語言的編程易用性與靜態(tài)類型編譯語言的效率和安全性相結合的能力。隨著 PayPal 對其系統(tǒng)進行現(xiàn)代化改造,對網絡和多核計算的支持至關重要。Go 不僅提供了這種支持,而且提供的速度很快——在單臺計算機上編譯一個大型可執(zhí)行文件最多需要幾秒鐘。
PayPal 目前有 100 多名 Go 開發(fā)人員,未來選擇采用 Go 的開發(fā)人員將更容易獲得該語言的批準,這要歸功于公司已經在生產中的許多成功實現(xiàn)。
最重要的是,PayPal 開發(fā)人員使用 Go 提高了他們的生產力。Go 的并發(fā)機制使得編寫充分利用 PayPal 的多核和聯(lián)網機器的程序變得很容易。使用 Go 的開發(fā)人員還受益于它可以快速編譯為機器代碼的事實,并且他們的應用程序獲得了垃圾收集的便利和運行時反射的強大功能。
今天 PayPal 的第一類語言是 Java 和 Node,Go 主要用作基礎設施語言。雖然 Go 可能永遠不會在某些應用程序中取代 Node.js,但 Natarajan 正在推動讓 Go 成為 PayPal 的第一類語言。
通過他的努力,PayPal 還在評估遷移到 Google Kubernetes Engine (GKE) 以加快其新產品的上市時間。GKE 是一個用于部署容器化應用程序的托管、生產就緒環(huán)境,并帶來了 Google 在開發(fā)人員生產力、自動化操作和開源靈活性方面的最新創(chuàng)新。
對于 PayPal 而言,部署到 GKE 將使 PayPal 更容易部署、更新和管理其應用程序和服務,從而實現(xiàn)快速開發(fā)和迭代。此外,PayPal 會發(fā)現(xiàn)更容易運行機器學習、通用 GPU、高性能計算和其他受益于 GKE 支持的專用硬件加速器的工作負載。
對 PayPal 來說最重要的是,Go 開發(fā)和 GKE 的結合使公司能夠輕松擴展以滿足需求,因為 Kubernetes 自動擴展將使 PayPal 能夠處理用戶對服務不斷增長的需求——在最重要的時候保持它們可用,然后在安靜的時間來省錢。
就目前來看還是很有前景,因為越來越火了,不過他的應用領域還是局限在高并發(fā)處理和網站開發(fā),畢竟是后起之秀所以在其他桌面程序領域沒那么容易普及和超越c++,找工作就不推薦學go