2019年最火熱的Golang專案

大漠胡蘿蔔發表於2019-06-07

整理目的

記錄用的人較多或者出鏡率比較高的Golang專案。

如果我漏了你覺得重要的專案,麻煩幫我指出,我儘快補上,謝謝!

下面列表中的每一個專案都配上了Star增長趨勢的圖片,可以看出該專案的熱度。

特別是與區塊鏈相關的兩個專案fabricgo-ethereum,能夠明顯看出區塊鏈行業的起伏。

整理過程中收穫:

1、瞭解到docker專案已經改名為moby,當前倉庫為:https://github.com/moby/moby

2、瞭解到時間序列資料庫,庫中每一個資料都有時間屬性。

專案列表

Gin

倉庫地址:https://github.com/gin-gonic/gin

Gin是用Go語言實現的一款web框架。

它的特點和Martini類似,但是API的效能更好,大概快40倍。如果你對效能要求極高,嘗試一下Gin,不會讓你失望。

2019年最火熱的Golang專案

Beego

倉庫地址:https://github.com/astaxie/beego

2019年最火熱的Golang專案

一個使用 Go 的思維來幫助您構建並開發 Go 應用程式的開源框架。

一個快速開發 Go 應用的 HTTP 框架,可以用來快速開發 API、Web 及後端服務等各種應用,是一個 RESTful 的框架,主要設計靈感來源於 tornado、sinatra 和 flask 這三個框架,但是結合了 Go 本身的一些特性(interface、struct 嵌入等)而設計的一個框架。

框架特性:簡單化智慧化模組化高效能

2019年最火熱的Golang專案

Caddy:

倉庫地址:https://github.com/mholt/caddy

一款可以用於生產的開源伺服器,具有速度快,易使用,生產效率高的特點。

當前已經可以在Windows, Mac, Linux, BSD, Solaris, and Android使用。

2019年最火熱的Golang專案

具有如下特點:

  1. 使用Caddyfile方便配置

  2. Auto HTTPS Caddy 使用 Let’s Encrypt 讓你的站點全自動變成全站HTTPS,無需任何配置。當然你想使用自己的證照也行。

  3. HTTP/2 全自動支援HTTP/2協議,無需任何配置。

  4. 主機虛擬化使多個站點工作

  5. 可使用外掛擴充套件

  6. 無需依賴即可執行

  7. 為了保證安全連線,使用了TLS session ticket key rotation

2019年最火熱的Golang專案

Nsq

倉庫地址:https://github.com/nsqio/nsq

實時分發的訊息平臺,用於極大規模的資料處理,處理量級10億+。

它提升了分散式和去中心化的拓撲結構,沒有單點故障,支援容錯和高可用性,並保證訊息傳遞的可靠性。

在操作上,NSQ易於配置和部署(所有引數都在命令列上指定,編譯後的二進位制檔案沒有執行時依賴項)。為了獲得最大的靈活性,它與資料格式無關(訊息可以是JSON、MSGPack、協議緩衝區或其他任何格式)。官方的go和python庫是現成的(以及許多其他客戶機庫),如果您有興趣構建自己的庫,這就是一個協議規範。

2019年最火熱的Golang專案

Hugo

倉庫地址:https://github.com/gohugoio/hugo

一個靜態的,可伸縮的網頁生成器,宣稱世界上最快的建站框架,不過這點和wordpress怎麼比呢。

Go語言編寫的靜態網站生成器,速度快,易用,可配置。

Hugo獲取一個包含內容和模板的目錄,並將其呈現為完整的HTML網站。

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Gogs

倉庫地址:https://github.com/gogs/gogs

Gogs是一款極易搭建的自助Git服務。

該專案旨在打造一個以最簡便的方式搭建簡單、穩定和可擴充套件的自助Git服務。

使用Go語言開發使得Gogs能夠通過獨立的二進位制分發,並且支援Go語言支援的 所有平臺,包括 Linux、macOS、Windows 以及 ARM 平臺。

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Frp

倉庫地址:https://github.com/fatedier/frp

frp是一個可用於內網穿透的高效能的反向代理應用,支援 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支援了點對點穿透。

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Proxypool

倉庫地址:https://github.com/henson/proxypool

採集免費的代理資源為爬蟲提供有效的IP代理

設計架構:

Getter:代理獲取介面,目前有9個免費代理源,每呼叫一次就會抓取這些網站最新的100個代理放入Channel,可自行新增額外的代理獲取介面;

Channel:臨時存放採集來的代理,通過訪問穩定的網站去驗證代理的有效性,有效則存入資料庫;

Schedule:用定時的計劃任務去檢測資料庫中代理IP的可用性,刪除不可用的代理。同時也會主動通過Getter去獲取最新代理;

Api:代理池的訪問介面,提供get介面輸出JSON,方便爬蟲直接使用。

Lantern

倉庫地址:https://github.com/getlantern/lantern

區別於,SS,它是分散式的,點對點的,通過藍燈,你可以和自由上網的使用者共享網路,對方可以自由上網,你也就自由了。

2019年最火熱的Golang專案

SS-go

倉庫地址:https://github.com/SS/SS-go

該專案為SS的Go語言實現,專案名稱使用SS替代,你懂吧?

2019年最火熱的Golang專案

Syncthing

倉庫地址:https://github.com/syncthing/syncthing

Syncthing是一個持續不斷的檔案同步專案,能夠在兩臺或者多臺電腦上同步檔案,使用了其獨有的對等自由塊交換協議,速度極快。

主要特點:

確保資料的安全性:保護使用者的資料是責無旁貸,該專案採取所有的合理的預防措施來避免使用者的檔案損壞。

確保資料不被攻擊:不循序任何未經授權方的竊聽或修改。

易於使用

自動化

能夠在大多數通用的電腦上使用

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Kubernetes

倉庫地址:https://github.com/kubernetes/kubernetes

容器編排工具,實現自動化部署,更新,下線,負載均衡,容錯處理等。

三個特點:

優化部署:快速而有預期地部署你的應用, 極速地擴充套件你的應用,增加專案的例項,能夠實現自動佈局、自動重啟、自動複製、自動伸縮,並實現應用的狀態檢查自我修復

優化資源利用:跨主機編排容器, 更充分地利用硬體資源來最大化地滿足企業應用的需求

宣告式配置etcd宣告式的容器管理,保證所部署的應用按照我們部署的方式運作.

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Etcd

倉庫地址:https://github.com/etcd-io/etcd

etcd

分散式可靠的鍵值儲存,尤其是分散式系統中極其重要的資料,其特點:

Simple: API設計合理,面向使用者

Secure: 自動的TLS連線,支援客戶定製認證

Fast: 寫入能力大於1w+每秒

Reliable: 使用Raft恰當的分發

etcd當前頻繁的和Kubernetes,locksmith,vulcand, Doorman等專案配合使用。

2019年最火熱的Golang專案

Moby

倉庫地址:https://github.com/moby/moby

該專案是在容器化生態中組裝容器時使用,以前的大名叫做:docker,這個大家都知道。後來經過一段糾結的時刻,改名字了,原因在這兒

docker

Moby是一個開放式專案,旨在維持模組化和靈活性。

模組化:該專案包括的許多元件,優秀的函式和API共同協作。

可交換:Moby包含足夠的元件來構建功能齊全的容器系統,但其模組化架構確保大部分元件可以通過不同的實現進行交換。

可用安全性:Moby提供安全的預設值,無需特殊配置。

2019年最火熱的Golang專案

Traefik

倉庫地址:https://github.com/containous/traefik

Traefik是一款開源的反向代理與負載均衡工具。它最大的優點是能夠與常見的微服務系統直接整合,可以實現自動化動態配置。 目前支援 Docker、Swarm、Mesos/Marathon、 Mesos、Kubernetes、Consul、Etcd、Zookeeper、BoltDB、Rest API 等等後端模型。

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Influxdb

倉庫地址:https://github.com/influxdata/influxdb

influxdb是目前比較流行的時間序列資料庫。

時間序列資料庫:資料格式裡包含Timestamp欄位的資料,幾乎所有的資料其實都可以打上一個Timestamp欄位。

Influxdb是一個開源的分散式時序、時間和指標資料庫,使用go語言編寫,無需外部依賴。

三大特性:

時序性(Time Series):與時間相關的函式的靈活使用(諸如最大、最小、求和等);

度量(Metrics):對實時大量資料進行計算;

事件(Event):任意事件的資料我們都可以做操作。

influxdb

2019年最火熱的Golang專案

Prometheus

倉庫地址: https://github.com/prometheus/prometheus

一個開源的服務監控系統和時間序列資料庫。

2019年最火熱的Golang專案

Prometheus提供的是一整套監控體系, 包括資料的採集,資料儲存,報警,甚至是繪圖(只不過很爛,官方也推薦使用 grafana)。 而InfluxDB只是一個時序資料庫。同為時間序列資料庫,兩者對比:prometheus和influxdb對比

2019年最火熱的Golang專案

Grafana

倉庫地址:https://github.com/grafana/grafana

Grafana是一款開源的,具有豐富功能的度量標準儀表板和圖形編輯器,用於顯示Graphite,Elasticsearch,OpenTSDB,Prometheus和InfluxDB等資料,定製化高。

2019年最火熱的Golang專案

2019年最火熱的Golang專案

Go-ethereum

倉庫地址:https://github.com/ethereum/go-ethereum

以太坊協議使用Go語言的官方實現。

2019年最火熱的Golang專案

Fabric

倉庫地址:https://github.com/hyperledger/fabric

區塊鏈超級賬本Hyperledger Fabric實現,用於聯盟鏈開發。

2019年最火熱的Golang專案

Drone

倉庫地址:https://github.com/drone/drone

Drone是一種基於容器技術的持續交付系統。

Drone使用簡單的YAML配置檔案(docker-compose的超集)來定義和執行Docker容器中的Pipelines

Drone與流行的原始碼管理系統無縫整合,包括GitHub,GitHub Enterprise,Bitbucket等。

2019年最火熱的Golang專案

歡迎關注公號:程式設計師的金融圈

一個探討技術,金融,賺錢的小圈子,為你提供最有味道的內容,日日更新!

2019年最火熱的Golang專案

相關文章