整理目的
记录用的人较多或者出镜率比较高的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等。
欢迎关注公号:程序员的金融圈
一个探讨技术,金融,赚钱
的小圈子,为你提供最有味道
的内容,日日更新!
有疑问加站长微信联系(非本文作者)