簡單高效:幾乎全部主流的編程語言如Java、C++、PHP、Python、JavaScript等等都是能夠用於服務端開發的,Go語言做爲後起之秀,在語言層面具備語法簡潔、執行效率高(底層語言)的特色;相比之下,Java和Python、PHP都顯得低效,C++則太過麻煩,而Go則能夠作到簡單與高效兼顧;java
下面咱們來看下這幾個領域有哪些成功的開源項目。golang
Docker(容器)
到如今,Docker幾乎是Go再難找到也難以複製的一個成功案例。Docker項目在2014年9月份就拿到了C輪4000萬美圓融資,版本迭代速度超快,目前從GitHub看到已有78個版本,而它僅僅是再2013年初才正式開始的一個項目而已。目前,國內Docker技術推廣也進行的如火如荼,好比 Docker中文社區,CSDN也創建了 Docker專區。
Docker團隊之因此喜歡用Go語言,主要是Go具備強大的標準庫、全開發環境、跨平臺構建的能力。算法
Kubernetes(容器)
Kubernetes是2014年夏天Google推出的Kubernetes,基於Docker,其目的是讓用戶經過Kubernetes集羣來進行雲端容器集羣的管理,而無需用戶進行復雜的設置工做。系統會自動選取合適的工做節點來執行具體的容器集羣調度處理工做。其核心概念是Container Pod(容器倉)。數據庫
Etcd & Fleet(分佈式數據庫)
etcd是由CoreOS開發並維護鍵值存儲系統,它使用Go語言編寫,並經過Raft一致性算法處理日誌複製以保證強一致性。目前,Google的容器集羣管理系統Kubernetes、開源PaaS平臺Cloud Foundry和CoreOS的Fleet都普遍使用了etcd。
Fleet則是一個分佈式的初始化系統。它們之因此選擇使用Go語言,則是由於Go語言對跨平臺的良好支持,以及其背後的強大社區。編程
Deis(雲服務平臺)
Deis是一個基於Docker和CoreOS的開源PaaS平臺,旨在讓部屬和管理服務器上的應用變得輕鬆容易。它能夠運行在AWS、GCE以及Openstack平臺下。後端
Flynn(雲服務平臺)
Flynn是一個使用Go語言編寫的開源PaaS平臺,可自動構建部署任何應用到Docker容器集羣上運行。Flynn項目受到Y Combinator的支持,目前仍在開發中,被稱爲是下一代的開源PaaS平臺。緩存
Lime(桌面應用)
相對上面的幾款Go語言在雲端和服務器端以外,Lime則顯得比較特殊。Lime則是一款用Go語言寫的桌面編輯器程序,被看作是著名編輯器Sublime Text的開源實現。服務器
Revel(Web框架)
Revel是一個高生產力的Go語言Web框架。Revel框架支持熱編譯,當編輯、保存和刷新源碼時,Revel會自動編譯代碼和模板;全棧特性,支持路由、參數解析、緩存、測試、國際化等功能。併發
InfluxDB(分佈式數據庫)
一個Go語音編寫的開源分佈式的時序、事件和指標數據庫,無需外部依賴。其設計目標是實現分佈式和水平伸縮擴展。框架
Syncthing(雲盤)
一款用Go語言編寫的開源雲存儲和同步服務工具,用戶的數據將由本身徹底控制,全部的通訊全都加密,每一個訪問節點都用加密證書驗證。該項目被認爲是Dropbox和 BitTorrent Sync的開源替代,Syncthing之因此選擇Go語言,也是出於跨平臺考慮。
Gogs(自助Git服務)
Gogs則是一款由國人無聞( GitHub)開發的自助Git服務項目。Gogs的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助Git服務。據做者稱,之因此選擇使用Go語言開發,就是Go容許Gogs能夠經過獨立的二進制分發,且對跨平臺有良好支持。
原文連接:https://blog.csdn.net/u010986776/article/details/87276303