整理目的
記錄用的人較多或者出鏡率比較高的Golang
專案。
如果我漏了你覺得重要的專案,麻煩幫我指出,我儘快補上,謝謝!
下面列表中的每一個專案都配上了Star
增長趨勢的圖片,可以看出該專案的熱度。
特別是與區塊鏈相關的兩個專案fabric
和go-ethereum
,能夠明顯看出區塊鏈行業的起伏。
整理過程中收穫:
1、瞭解到docker
專案已經改名為moby
,當前倉庫為:https://github.com/moby/moby
。
2、瞭解到時間序列資料庫
,庫中每一個資料都有時間屬性。
專案列表
Gin
倉庫地址:https://github.com/gin-gonic/gin
Gin
是用Go語言實現的一款web框架。
它的特點和Martini
類似,但是API的效能更好,大概快40倍。如果你對效能要求極高,嘗試一下Gin,不會讓你失望。
Beego
倉庫地址:https://github.com/astaxie/beego
一個使用 Go 的思維來幫助您構建並開發 Go 應用程式的開源框架。
一個快速開發 Go 應用的 HTTP 框架,可以用來快速開發 API、Web 及後端服務等各種應用,是一個 RESTful 的框架,主要設計靈感來源於 tornado、sinatra 和 flask 這三個框架,但是結合了 Go 本身的一些特性(interface、struct 嵌入等)而設計的一個框架。
框架特性:簡單化
,智慧化
,模組化
,高效能
。
Caddy:
倉庫地址:https://github.com/mholt/caddy
一款可以用於生產的開源伺服器,具有速度快,易使用,生產效率高的特點。
當前已經可以在Windows
, Mac
, Linux
, BSD
, Solaris
, and Android
使用。
具有如下特點:
-
使用
Caddyfile
方便配置 -
Auto HTTPS Caddy 使用 Let’s Encrypt 讓你的站點全自動變成全站HTTPS,無需任何配置。當然你想使用自己的證照也行。
-
HTTP/2 全自動支援HTTP/2協議,無需任何配置。
-
主機虛擬化使多個站點工作
-
可使用外掛擴充套件
-
無需依賴即可執行
-
為了保證安全連線,使用了TLS session ticket key rotation
Nsq
倉庫地址:https://github.com/nsqio/nsq
實時分發的訊息平臺,用於極大規模的資料處理,處理量級10億+。
它提升了分散式和去中心化的拓撲結構,沒有單點故障,支援容錯和高可用性,並保證訊息傳遞的可靠性。
在操作上,NSQ易於配置和部署(所有引數都在命令列上指定,編譯後的二進位制檔案沒有執行時依賴項)。為了獲得最大的靈活性,它與資料格式無關(訊息可以是JSON、MSGPack、協議緩衝區或其他任何格式)。官方的go和python庫是現成的(以及許多其他客戶機庫),如果您有興趣構建自己的庫,這就是一個協議規範。
Hugo
倉庫地址:https://github.com/gohugoio/hugo
一個靜態的,可伸縮的網頁生成器,宣稱世界上最快的建站框架,不過這點和wordpress
怎麼比呢。
Go
語言編寫的靜態網站生成器,速度快,易用,可配置。
Hugo
獲取一個包含內容和模板的目錄,並將其呈現為完整的HTML網站。
Gogs
倉庫地址:https://github.com/gogs/gogs
Gogs
是一款極易搭建的自助Git
服務。
該專案旨在打造一個以最簡便的方式搭建簡單、穩定和可擴充套件的自助Git服務。
使用Go語言開發使得Gogs能夠通過獨立的二進位制分發,並且支援Go語言支援的 所有平臺,包括 Linux、macOS、Windows 以及 ARM 平臺。
Frp
倉庫地址:https://github.com/fatedier/frp
frp
是一個可用於內網穿透的高效能的反向代理應用,支援 tcp, udp 協議,為 http 和 https 應用協議提供了額外的能力,且嘗試性支援了點對點穿透。
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
,它是分散式的,點對點的,通過藍燈,你可以和自由上網的使用者共享網路,對方可以自由上網,你也就自由了。
SS-go
倉庫地址:https://github.com/SS/SS-go
該專案為SS
的Go語言實現,專案名稱使用SS
替代,你懂吧?
Syncthing
倉庫地址:https://github.com/syncthing/syncthing
Syncthing
是一個持續不斷的檔案同步專案,能夠在兩臺或者多臺電腦上同步檔案,使用了其獨有的對等自由塊交換協議,速度極快。
主要特點:
確保資料的安全性:保護使用者的資料是責無旁貸,該專案採取所有的合理的預防措施來避免使用者的檔案損壞。
確保資料不被攻擊:不循序任何未經授權方的竊聽或修改。
易於使用
自動化
能夠在大多數通用的電腦上使用
Kubernetes
倉庫地址:https://github.com/kubernetes/kubernetes
容器編排工具,實現自動化部署,更新,下線,負載均衡,容錯處理等。
三個特點:
優化部署:快速而有預期地部署你的應用, 極速地擴充套件你的應用,增加專案的例項,能夠實現自動佈局、自動重啟、自動複製、自動伸縮,並實現應用的狀態檢查
與自我修復
。
優化資源利用:跨主機編排容器, 更充分地利用硬體資源來最大化地滿足企業應用的需求
宣告式配置:etcd
宣告式的容器管理,保證所部署的應用按照我們部署的方式運作.
Etcd
倉庫地址:https://github.com/etcd-io/etcd
分散式可靠的鍵值儲存,尤其是分散式系統中極其重要的資料,其特點:
Simple
: API設計合理,面向使用者
Secure
: 自動的TLS連線,支援客戶定製認證
Fast
: 寫入能力大於1w+每秒
Reliable
: 使用Raft恰當的分發
etcd
當前頻繁的和Kubernetes
,locksmith
,vulcand
, Doorman
等專案配合使用。
Moby
倉庫地址:https://github.com/moby/moby
該專案是在容器化生態中組裝容器時使用,以前的大名叫做:docker
,這個大家都知道。後來經過一段糾結的時刻,改名字了,原因在這兒
Moby是一個開放式專案,旨在維持模組化和靈活性。
模組化:該專案包括的許多元件,優秀的函式和API共同協作。
可交換:Moby包含足夠的元件來構建功能齊全的容器系統,但其模組化架構確保大部分元件可以通過不同的實現進行交換。
可用安全性:Moby提供安全的預設值,無需特殊配置。
Traefik
倉庫地址:https://github.com/containous/traefik
Traefik
是一款開源的反向代理與負載均衡工具。它最大的優點是能夠與常見的微服務系統直接整合,可以實現自動化動態配置。
目前支援 Docker、Swarm、Mesos/Marathon、 Mesos、Kubernetes、Consul、Etcd、Zookeeper、BoltDB、Rest API 等等後端模型。
Influxdb
倉庫地址:https://github.com/influxdata/influxdb
influxdb是目前比較流行的時間序列資料庫。
時間序列資料庫:資料格式裡包含Timestamp欄位的資料,幾乎所有的資料其實都可以打上一個Timestamp欄位。
Influxdb是一個開源的分散式時序、時間和指標資料庫,使用go語言編寫,無需外部依賴。
三大特性:
時序性(Time Series)
:與時間相關的函式的靈活使用(諸如最大、最小、求和等);
度量(Metrics)
:對實時大量資料進行計算;
事件(Event)
:任意事件的資料我們都可以做操作。
Prometheus
倉庫地址: https://github.com/prometheus/prometheus
一個開源的服務監控系統和時間序列資料庫。
Prometheus
提供的是一整套監控體系, 包括資料的採集,資料儲存,報警,甚至是繪圖(只不過很爛,官方也推薦使用 grafana)。
而InfluxDB
只是一個時序資料庫。同為時間序列資料庫,兩者對比:prometheus和influxdb對比
Grafana
倉庫地址:https://github.com/grafana/grafana
Grafana是一款開源的,具有豐富功能的度量標準儀表板和圖形編輯器,用於顯示Graphite,Elasticsearch,OpenTSDB,Prometheus和InfluxDB等資料,定製化高。
Go-ethereum
倉庫地址:https://github.com/ethereum/go-ethereum
以太坊協議使用Go語言的官方實現。
Fabric
倉庫地址:https://github.com/hyperledger/fabric
區塊鏈超級賬本Hyperledger Fabric
實現,用於聯盟鏈開發。
Drone
倉庫地址:https://github.com/drone/drone
Drone是一種基於容器技術的持續交付系統。
Drone使用簡單的YAML配置檔案(docker-compose的超集)來定義和執行Docker容器中的Pipelines
。
Drone與流行的原始碼管理系統無縫整合,包括GitHub,GitHub Enterprise,Bitbucket等。
歡迎關注公號:程式設計師的金融圈
一個探討技術,金融,賺錢
的小圈子,為你提供最有味道
的內容,日日更新!