欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語言電商網(wǎng)站架構(gòu) go語言web框架性能比較

Go語言的跨平臺(tái)能力到底有多強(qiáng)?看完你就知道了

對(duì)比于其他語言的程序,Go語言的跨平臺(tái)能力是真的強(qiáng),拿.Net和JAVA來說吧,.Net在.Net core出現(xiàn)之前是不能跨平臺(tái)的,只能在windows上編譯運(yùn)行,即使是.net core出現(xiàn)以后,跨平臺(tái)的程序也是相當(dāng)?shù)穆闊6鴍ava雖然一直都可以跨平臺(tái),但是運(yùn)行JAVA程序的機(jī)器上也必須要有JAVA程序運(yùn)行環(huán)境JRE。而相對(duì)于Go程序,跨平臺(tái)就簡(jiǎn)單的多了,只需要在編譯指定目標(biāo)程序運(yùn)行的架構(gòu)和環(huán)境即可編譯出指定操作系統(tǒng)和架構(gòu)的程序。

成都創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為沈陽企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,沈陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

以上是指定了go的環(huán)境變量后執(zhí)行的go build命令進(jìn)行目標(biāo)程序的構(gòu)建,這種方式會(huì)一直生效的,如果不讓他一直生效,可以在構(gòu)建的時(shí)候臨時(shí)指定環(huán)境變量,下面以window的環(huán)境為例,來介紹臨時(shí)指定環(huán)境變量的方式構(gòu)建可以在Linux環(huán)境下運(yùn)行的可執(zhí)行程序:

可以根據(jù)不同的架構(gòu)和操作系統(tǒng)將其編寫為不同的.bat的可執(zhí)行文件放置在程序的根目錄,Linux的和MAC的也一樣編寫成腳本文件放置在程序的根目錄,這樣在構(gòu)建的時(shí)候就不用再敲命令了,直接運(yùn)行腳本就可以了。

Java程序編譯打包后為war包或者是java包,必須執(zhí)行java -jar 命令或者將其放置到tomcat的指定目錄下,運(yùn)行tomcat程序。而Go語言編寫的程序最終為可執(zhí)行的文件(window下編譯出的是.exe的可執(zhí)行文件),只需要將其賦予可執(zhí)行的權(quán)限就可以直接運(yùn)行了。

構(gòu)建JAVA程序的鏡像需要指定java的基礎(chǔ)鏡像,否則就需要在鏡像中安裝java的運(yùn)行環(huán)境了,下面展示的是構(gòu)建的一個(gè)JAVA程序的鏡像,構(gòu)建出來鏡像的體積相對(duì)比較大

而Go程序制作出的鏡像就不需要安裝任何的依賴環(huán)境,因?yàn)樗诖虬臅r(shí)候就已經(jīng)將依賴的包一塊打包到一起了

拿著這個(gè)鏡像就可以到處運(yùn)行了。

通過對(duì)比我們可以發(fā)現(xiàn),如果沒有之前的技術(shù)和業(yè)務(wù)的積累,重新開發(fā)一個(gè)新的項(xiàng)目,使用go去開發(fā)無疑是最容易上手的,所以現(xiàn)在很多公司都使用go進(jìn)行開發(fā),也逐漸將其他語言的項(xiàng)目逐步的用go語言進(jìn)行改造。其實(shí)用什么語言不重要,合適的才重要,開發(fā)項(xiàng)目在選擇語言的時(shí)候也會(huì)綜合多方面來考慮選擇合適的語言和架構(gòu),畢竟很多公司都不是搞研究的,都需要項(xiàng)目來賺錢,所以開發(fā)的速度、客戶的滿意度、項(xiàng)目交付的時(shí)間才是驅(qū)動(dòng)公司技術(shù)的主要因素。

我們個(gè)人也應(yīng)該不斷完善自己的技術(shù)棧,不應(yīng)該太依靠某種語言,最重要的還是自己的架構(gòu)思想和底層架構(gòu)知識(shí),只有掌握了這些才能夠不被 社會(huì) 和公司“優(yōu)化”。

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

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

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

支付處理平臺(tái)的核心是 PayPal 用 C++ 開發(fā)的專有 NoSQL 數(shù)據(jù)庫(kù)。然而,代碼的復(fù)雜性大大降低了開發(fā)人員發(fā)展平臺(tái)的能力。Go 的簡(jiǎn)單代碼布局、goroutine(輕量級(jí)執(zhí)行線程)和通道(用作連接并發(fā) goroutine 的管道)使 Go 成為 NoSQL 開發(fā)團(tuán)隊(duì)簡(jiǎn)化和現(xiàn)代化平臺(tái)的自然選擇。

作為概念驗(yàn)證,一個(gè)開發(fā)團(tuán)隊(duì)花了六個(gè)月的時(shí)間學(xué)習(xí) Go 并在 Go 中從頭開始重新實(shí)現(xiàn) NoSQL 系統(tǒng),在此期間,他們還提供了有關(guān)如何在 PayPal 更廣泛地實(shí)施 Go 的見解。截至今天,已遷移 30% 的集群以使用新的 NoSQL 數(shù)據(jù)庫(kù)。

隨著 PayPal 的平臺(tái)變得越來越復(fù)雜,Go 提供了一種輕松簡(jiǎn)化大規(guī)模創(chuàng)建和運(yùn)行軟件的復(fù)雜性的方法。該語言為 PayPal 提供了出色的庫(kù)和快速工具,以及并發(fā)、垃圾收集和類型安全。

借助 Go,PayPal 使其開發(fā)人員能夠?qū)⒏鄷r(shí)間從 C++ 和 Java 開發(fā)的噪音中解放出來,從而能夠花更多時(shí)間查看代碼和進(jìn)行戰(zhàn)略性思考。

在這個(gè)新改寫的 NoSQL 系統(tǒng)取得成功后,PayPal 內(nèi)更多的平臺(tái)和內(nèi)容團(tuán)隊(duì)開始采用 Go。Natarajan 目前的團(tuán)隊(duì)負(fù)責(zé) PayPal 的構(gòu)建、測(cè)試和發(fā)布管道——所有這些都是在 Go 中構(gòu)建的。該公司擁有一個(gè)大型構(gòu)建和測(cè)試農(nóng)場(chǎng),它使用 Go 基礎(chǔ)設(shè)施進(jìn)行完全管理,以支持整個(gè)公司的開發(fā)人員的構(gòu)建即服務(wù)(和測(cè)試即服務(wù))。

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

安全性和可支持性是 PayPal 的關(guān)鍵問題,該公司的運(yùn)營(yíng)管道越來越多地由 Go 主導(dǎo),因?yàn)樵撜Z言的簡(jiǎn)潔性和模塊化幫助他們實(shí)現(xiàn)了這些目標(biāo)。PayPal 對(duì) Go 的部署為開發(fā)人員提供了一個(gè)創(chuàng)意平臺(tái),使他們能夠?yàn)?PayPal 的全球市場(chǎng)大規(guī)模生產(chǎn)簡(jiǎn)單、高效和可靠的軟件。

隨著 PayPal 繼續(xù)使用 Go 對(duì)其軟件定義網(wǎng)絡(luò) (SDN) 基礎(chǔ)設(shè)施進(jìn)行現(xiàn)代化改造,除了更易于維護(hù)的代碼外,他們還看到了性能優(yōu)勢(shì)。例如,Go 現(xiàn)在為路由器、負(fù)載平衡和越來越多的生產(chǎn)系統(tǒng)提供動(dòng)力。

作為一家全球性企業(yè),PayPal 需要其開發(fā)團(tuán)隊(duì)有效管理兩種規(guī)模:生產(chǎn)規(guī)模,尤其是與許多其他服務(wù)器(如云服務(wù))交互的并發(fā)系統(tǒng);和開發(fā)規(guī)模,尤其是由許多程序員協(xié)同開發(fā)的大型代碼庫(kù)(如開源開發(fā))

PayPal 利用 Go 來解決這些規(guī)模問題。該公司的開發(fā)人員受益于 Go 將解釋型動(dòng)態(tài)類型語言的編程易用性與靜態(tài)類型編譯語言的效率和安全性相結(jié)合的能力。隨著 PayPal 對(duì)其系統(tǒng)進(jìn)行現(xiàn)代化改造,對(duì)網(wǎng)絡(luò)和多核計(jì)算的支持至關(guān)重要。Go 不僅提供了這種支持,而且提供的速度很快——在單臺(tái)計(jì)算機(jī)上編譯一個(gè)大型可執(zhí)行文件最多需要幾秒鐘。

PayPal 目前有 100 多名 Go 開發(fā)人員,未來選擇采用 Go 的開發(fā)人員將更容易獲得該語言的批準(zhǔn),這要?dú)w功于公司已經(jīng)在生產(chǎn)中的許多成功實(shí)現(xiàn)。

最重要的是,PayPal 開發(fā)人員使用 Go 提高了他們的生產(chǎn)力。Go 的并發(fā)機(jī)制使得編寫充分利用 PayPal 的多核和聯(lián)網(wǎng)機(jī)器的程序變得很容易。使用 Go 的開發(fā)人員還受益于它可以快速編譯為機(jī)器代碼的事實(shí),并且他們的應(yīng)用程序獲得了垃圾收集的便利和運(yùn)行時(shí)反射的強(qiáng)大功能。

今天 PayPal 的第一類語言是 Java 和 Node,Go 主要用作基礎(chǔ)設(shè)施語言。雖然 Go 可能永遠(yuǎn)不會(huì)在某些應(yīng)用程序中取代 Node.js,但 Natarajan 正在推動(dòng)讓 Go 成為 PayPal 的第一類語言。

通過他的努力,PayPal 還在評(píng)估遷移到 Google Kubernetes Engine (GKE) 以加快其新產(chǎn)品的上市時(shí)間。GKE 是一個(gè)用于部署容器化應(yīng)用程序的托管、生產(chǎn)就緒環(huán)境,并帶來了 Google 在開發(fā)人員生產(chǎn)力、自動(dòng)化操作和開源靈活性方面的最新創(chuàng)新。

對(duì)于 PayPal 而言,部署到 GKE 將使 PayPal 更容易部署、更新和管理其應(yīng)用程序和服務(wù),從而實(shí)現(xiàn)快速開發(fā)和迭代。此外,PayPal 會(huì)發(fā)現(xiàn)更容易運(yùn)行機(jī)器學(xué)習(xí)、通用 GPU、高性能計(jì)算和其他受益于 GKE 支持的專用硬件加速器的工作負(fù)載。

對(duì) PayPal 來說最重要的是,Go 開發(fā)和 GKE 的結(jié)合使公司能夠輕松擴(kuò)展以滿足需求,因?yàn)?Kubernetes 自動(dòng)擴(kuò)展將使 PayPal 能夠處理用戶對(duì)服務(wù)不斷增長(zhǎng)的需求——在最重要的時(shí)候保持它們可用,然后在安靜的時(shí)間來省錢。

Go語言實(shí)現(xiàn)的電商系統(tǒng)QOR,為什么要開源

PHP:是一種通用開源腳本語言。語法吸收了C語言、Java的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。Java:是一種可以撰寫跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),電子商務(wù)大型網(wǎng)站與平臺(tái)是電商平臺(tái)使用的最好的開發(fā)語言。C#:是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。C#是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語言。并定于在微軟職業(yè)開發(fā)者論壇上登臺(tái)亮相。C#是微軟公司研究員的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM是直接集成的,而且它是微軟公司.NETwindows網(wǎng)絡(luò)框架的主角。

GO語言商業(yè)案例(十六):Curve-

Golang 的創(chuàng)建是為了實(shí)現(xiàn)最大的用戶效率和編碼效率。已經(jīng)熟悉 Java 或 PHP 的程序員可以在幾周內(nèi)接受 Go 的培訓(xùn)(許多人最終會(huì)更喜歡它)。在本文中,Dewet Diener 探討了 Golang 的優(yōu)缺點(diǎn),以及它的測(cè)試驅(qū)動(dòng)開發(fā) (TDD) 如何完美契合。

Golang 由 Google 開發(fā)和設(shè)計(jì),于 2009 年作為一種綜合性編程語言首次出現(xiàn),旨在最大限度地提高編碼效率。創(chuàng)建該語言的目的是修正其他已建立語言的缺陷。盡管 Golang(或簡(jiǎn)稱為“Go”)是一門年輕的語言,但已經(jīng)積累了大量的開發(fā)人員,因此我們想分享為什么在 Curve 我們喜歡 Golang,以及我們?nèi)绾尾捎盟鼇韺?shí)現(xiàn)我們移動(dòng)銀行業(yè)務(wù)的目標(biāo)到云端。

Go 是一種精致的編程語言:它支持“所見即所得”的原則,這意味著清晰易讀的代碼和更少的復(fù)雜抽象。該語言本身易于使用且易于訓(xùn)練。盡管如此,作為一個(gè)相對(duì)較新的生態(tài)系統(tǒng),要找到對(duì) Go 具有廣泛預(yù)先知識(shí)的工程師可能會(huì)很棘手。

然而,與其他編程語言不同,Go 的創(chuàng)建是為了最大限度地提高用戶效率。因此,具有 Java 或 PHP 背景的開發(fā)人員和工程師可以在幾周內(nèi)獲得使用 Go 的技能和培訓(xùn)——根據(jù)我們的經(jīng)驗(yàn),他們中的許多人最終更喜歡它。

在 Curve,我們大力提倡測(cè)試驅(qū)動(dòng)開發(fā) (TDD),Go 的框架與這種方法保持一致。通過簡(jiǎn)單地命名一個(gè)文件 foo_test.go 并在該文件中添加結(jié)構(gòu)化測(cè)試函數(shù),Go 將快速有效地運(yùn)行您的單元測(cè)試。這一創(chuàng)新功能提高了生產(chǎn)力,因?yàn)樗梢愿訉W⒂跍y(cè)試驅(qū)動(dòng)的開發(fā)和改進(jìn)的同行評(píng)審機(jī)會(huì)。

Golang 具有出色的生產(chǎn)優(yōu)化品質(zhì),例如內(nèi)存占用小,這支持其在大型項(xiàng)目中作為構(gòu)建塊的能力,以及開箱即用的與其他架構(gòu)的輕松交叉編譯。由于 Go 代碼被編譯為單個(gè)靜態(tài)二進(jìn)制文件,因此它可以輕松進(jìn)行容器化,并且通過擴(kuò)展,將 Go 部署到任何高可用性環(huán)境(例如 Kubernetes)中幾乎是微不足道的。

它提供了一種機(jī)制來保護(hù)工作負(fù)載,通過擁有非常纖薄的生產(chǎn)容器而沒有任何無關(guān)的依賴項(xiàng)。這使得構(gòu)建、部署和維護(hù)基于 Go 的資產(chǎn)更加直接和安全,并為希望建立或發(fā)展其微服務(wù)戰(zhàn)略的公司提供了可靠的選擇。

Go 是專門為滿足我們快速發(fā)展的技術(shù)生態(tài)系統(tǒng)的需求而創(chuàng)建的。例如,Go 可以滿足您構(gòu)建 API 所需的一切,并將其作為其標(biāo)準(zhǔn)庫(kù)的一部分。它使用簡(jiǎn)單,高性能的 http 服務(wù)器消除了團(tuán)隊(duì)設(shè)計(jì)新項(xiàng)目時(shí)經(jīng)常發(fā)生的一些常見的 探索 和設(shè)計(jì)癱瘓問題——這對(duì)于一些其他流行語言(如 Java 和 Node.js)來說太常見了。

Golang 還通過其內(nèi)置于語言本身的自動(dòng)格式化程序巧妙地解決了代碼格式化分歧。這完全消除了格式爭(zhēng)議,進(jìn)而提高了團(tuán)隊(duì)的生產(chǎn)力和注意力。

盡管我是 Go 的擁護(hù)者,但它顯然也不是沒有缺陷。一個(gè)爭(zhēng)論不休的特性是 Go 沒有顯式接口,這是許多開發(fā)人員習(xí)慣的概念。雖然不是有害的,但它可以使選擇最適合您的結(jié)構(gòu)的接口成為一項(xiàng)任務(wù)。這是因?yàn)槟粫?huì)像在其他流行的編程語言中那樣編寫 X 實(shí)現(xiàn) Y,但您很快就會(huì)接受。

依賴管理也是另一個(gè)不屬于 Google Golang 開發(fā)團(tuán)隊(duì)原始設(shè)計(jì)的功能。開源社區(qū)介入并創(chuàng)建了 Glide 和 Dep,最初的努力并沒有完全解決問題。從 Go 1.11 開始,添加了對(duì)模塊的支持,這似乎已成為官方的依賴管理工具。這些挑戰(zhàn)并沒有削弱 Go 作為一種高效編程語言的獨(dú)創(chuàng)性,并且它繼續(xù)為我們提供優(yōu)于其他編程語言的顯著優(yōu)勢(shì)。

Golang 吸引了全球敏銳的開發(fā)人員的注意,并且圍繞它的興奮繼續(xù)增長(zhǎng)。開源社區(qū)因有趣的項(xiàng)目而蓬勃發(fā)展;最著名的是 Docker 和 Kubernetes。

正是這種新鮮、有創(chuàng)意但又簡(jiǎn)單的包裝吸引了我們?nèi)o:它是一種令人興奮的編碼語言,可以幫助我們?cè)?Curve 中快速開發(fā)以構(gòu)建更好的產(chǎn)品。

網(wǎng)站欄目:go語言電商網(wǎng)站架構(gòu) go語言web框架性能比較
標(biāo)題來源:http://chinadenli.net/article30/dojdcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站品牌網(wǎng)站制作商城網(wǎng)站電子商務(wù)搜索引擎優(yōu)化網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)