Golang优秀开源项目汇总
监控系统
序号 | 名称 | 项目地址 | 简介 |
1 | OpenFalcon | http://github.com/open-falcon/of-release | OpenFalcon是一款小米监控系统。功能:*数据采集免配置:agent自发现、支持Plugin、主动推送模式; *容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。*告警策略自发现:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。*告警设置人性化:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。*历史数据高效查询:秒级返回上百个指标一年的历史数据。*Dashboard人性化:多维度的数据展示,用户自定义Dashboard等功能。*架构设计高可用:整个系统无核心单点,易运维,易部署。 |
2 | banshee | http://github.com/eleme/banshee | 周期性指标的监控系统。 |
3 | Kapacitor | http://github.com/influxdata/kapacitor | Kapacitor 是一个开源框架,用来处理、监控和警告时间序列数据。 |
4 | Pome | http://github.com/rach/pome | Pome 是 Postgres Metrics 的意思。Pome 是一个 PostgreSQL 的指标仪表器,用来跟踪你的数据库的健康状况。 |
5 | pingd | http://github.com/pinggg/pingd | pingd 是世界上最简单的监控服务,使用 golang 编写。软件支持 IPv6,但是服务器不支持. pingd 允许同时 ping 上千个 IPs,在此期间还可以管理监控的主机。用户提供主机名或者 IP,还有用户邮箱地址,就可以使用 3 个生成 URLs 来开启,停止或者删除你的追踪。每当你的服务器停机或者后台在线都会发送通知,还包含控制 URLs。 |
6 | actiontech zabbix mysql monitor | percona monitoring plugins zabbix 的 Go 语言版本,是由 爱可生 公司开源的 MySQL 监控插件和模板,整合上百个性能监控指标,支持Low Level Discovery 自动发现多实例环境,支持performance_schema。 | |
7 | rtop | http://github.com/rapidloop/rtop | top 是一个简单的无代理的远程服务器监控工具,基于 SSH 连接进行工作。无需在被监控的服务器上安装任何软件。rtop 直接通过 SSH 连接到待监控服务器,然后执行命令来收集监控数据。rtop 每几秒钟就自动更新监控数据,类似其他 *top 命令。 |
8 | Prometheus | http://github.com/prometheus/prometheus | Prometheus 是一个开源的服务监控系统和时间序列数据库, 提供监控数据存储,展示,告警等功能。 |
9 | bosun | http://github.com/bosun-monitor/bosun | 专业的跨平台开源系统监控项目,go语言编写,灵活的模板和表达式配合上各种collector可以监控任何应用或系统级的运行数据,比 zabbix更轻量级、更易入手和更适合定制。 |
容器技术
序号 | 名称 | 项目地址 | 简介 |
1 | SwarmKit | https://github.com/docker/swarmkitSwarmKit | 是Docker公司开源的Docker集群管理和容器编排工具,其主要功能包括节点发现、基于raft算法的一致性和任务调度等。 |
2 | DaoliNet | https://github.com/daolinet/daolinet | DaoliNet是一个软件定义网络(SDN)系统,其设计目的是为Docker容器提供动态、高效的链接。在Docker容器中,微服务工作负载具有轻量且短暂的性质,DaoliNet恰好适用于这种性质。 |
3 | Harbor | http://github.com/vmware/harbor | 容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。 |
4 | REX-Ray | https://github.com/emccode/rexray | REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker、Mesos 及其他容器运行环境提供持续的存储访问。其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。 |
5 | Clair | http://github.com/coreos/clair | Clair 是一个容器漏洞分析服务。它提供一个能威胁容器漏洞的列表,并且在有新的容器漏洞发布出来后会发送通知给用户。 |
6 | Weave | http://github.com/zettio/weave | Weave 创建一个虚拟网络并连接到部署在多个主机上的 Docker 容器。 |
7 | Rocket | http://github.com/coreos/rkt | Rocket (也叫 rkt)是 CoreOS 推出的一款容器引擎,和 Docker 类似,帮助开发者打包应用和依赖包到可移植容器中,简化搭环境等部署工作。Rocket 和 Docker 不同的地方在于,Rocket 没有 Docker 那些为企业用户提供的“友好功能”,比如云服务加速工具、集群系统等。反过来说,Rocket 想做的,是一个更纯粹的业界标准。 |
8 | libnetwork | http://github.com/docker/libnetwork | Libnetwork 提供一个原生 Go 实现的容器连接,是容器的网络。libnetwork 的目标是定义一个健壮的容器网络模型(Container Network Model),提供一个一致的编程接口和应用程序的网络抽象。 |
9 | Wormhole | https://github.com/vishvananda/wormhole | WWormhole 是一个能识别命名空间的由 Socket 激活的隧道代理。可以让你安全的连接在不同物理机器上的 Docker 容器。可以用来完成一些有趣的功能,例如连接运行在容器本机的服务或者在连接后创建按需的服务。 |
PaaS工具
序号 | 名称 | 项目地址 | 简介 |
1 | Kel | http://github.com/kelproject | Kel 是一个开源的基于 Kubernetes 构建的 PaaS 系统,采用 Python 和 Go 语言开发。Kel 可简化管理 Web 应用发布和托管整个软件生命周期。Kel 帮助开发和运维人员轻松管理他们的应用架构,通过一组工具和组件让 K8S 使用非常简单。 |
2 | CloudFoundry-Mesos | http://github.com/mesos/cloudfoundry-mesos | Cloud Foundry-Mesos框架由华为与Mesosphere的工程师合作完成,能够为应用提供安全可靠的、可伸缩、可扩展的云端运行环境,并且应用能够 享用Cloud Foundry生态圈内各类丰富的服务资源。企业能够通过Cloud Foundry开发云应用,并通过Cloud Foundry-Mesos将应用部署到DCOS上,使应用能够与DCOS上安装的其他服务及应用框架共享资源,实现资源利用率最大化,能够大幅降低企业 数据中心运营成本。DCOS能够运行在虚拟和物理环境上,能够支持Linux(以及很快支持Windows),并可适用于私有云、公有云及混合云环境。 |
3 | Flynn | http://github.com/github/flynn | Flynn 是一个开源的 PaaS 系统,由 Docker 开发。采用 Go 语言编写。支持数据库包括 Postgres、Redis 和 MongoDB. Flynn 使用完全组件化模块化的设计,任何一个组件和模块都可以独立的进行替换。 |
4 | DINP | http://git.oschina.net/cnperl/dinp-server | DINP是又一个基于Docker开发的PaaS平台。 |
5 | Kubernetes | http://github.com/GoogleCloudPlatform/kubernetes | Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。 |
6 | Tsuru | http://github.com/tsuru/tsuru | 在 Tsuru 的 PaaS 服务下,你可以选择自己的编程语言,选择使用 SQL 或者 NoSQL 数据库,memcache、redis、等等许多服务,甚至与你可以使用 Git 版本控制工具来上传你应用。 |
大数据
序号 | 名称 | 项目地址 | 简介 |
1 | MLF | https://github.com/huichen/mlf | 弥勒佛项目是一个大数据机器学习框架。具有为处理大数据优化,可随业务增长scale up,模型的训练和使用都可以作为library或者service整合到在生产系统中,具有丰富的模型,高度可扩展,高度可读性,适合初学者进行大数据模型的学习等特点。 |
2 | Glow | http://github.com/chrislusf/glow | Glow 是使用 Go 编写的易用分布式计算系统,是 Hadoop Map Reduce,Spark,Flint,Samza 等等的替代品。Glow 的目标是提供一个库,可以在并行线程或者分布式集群机器中进行更简单计算。 |
存储技术
序号 | 名称 | 项目地址 | 简介 |
1 | Torus | http://github.com/coreos/torus | Torus是一种针对容器集群量身打造的存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储。这是继etcd、rkt、flannel,以及CoreOS Linux之后CoreOS发布的另一个开源产品。 |
2 | Afero | http://github.com/spf13/afero | Afero 是一个文件系统框架,提供一个简单、统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面、类型和方法。Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法。Afero 作为一个库还提供了一组可交互操作的后台文件系统,这样在与 Afero 协作时,还可以保留 os 和 ioutil 软件包的功能和好处。 |
3 | REX-Ray | https://github.com/emccode/rexray | REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker、Mesos 及其他容器运行环境提供持续的存储访问。其设计旨在囊括通用存储、虚拟化和云平台,提供高级的存储功能。 |
4 | SeaweedFS | http://github.com/chrislusf/seaweedfs | SeaweedFS 是简单,高伸缩性的分布式文件系统,包含两部分:存储数十亿的文件;快速为文件服务。SeaweedFS 作为支持全 POSIX 文件系统语义替代,Seaweed-FS 选择仅实现 key-file 的映射,类似 "NoSQL",也可以说是 "NoFS"。 |
5 | bfs | http://github.com/Terry-Mao/bfs | bfs 是使用 Go 编写的分布式文件系统(小文件存储)。 |
6 | IPFS | http://github.com/ipfs/go-ipfs | IPFS 是分布式文件系统,寻求连接所有计算机设备的相同文件系统。在某些方面,这很类似于原始的 Web 目标,但是 IPFS 最终会更像单个比特流群交换的 git 对象。IPFS = InterPlanetary File System |
消息系统
序号 | 名称 | 项目地址 | 简介 |
1 | KiteQ | http://github.com/blackbeans/kiteq | KiteQ 是一个基于 go + protobuff 实现的多种持久化方案的 mq 框架(消息队列)。 |
2 | NSQ | http://github.com/bitly/nsq | NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,易于配置和发布。 |
3 | kingtask | https://github.com/kingsoft-wps/kingtask | kingtask是一个由Go开发的轻量级的异步定时任务系统。支持定时的异步任务。 支持失败重试机制,重试时刻和次数可自定义。 任务执行结果可查询。 |
4 | Go Machinery | http://github.com/RichardKnop/machinery | Machinery 是一个 Go 语言的异步任务队列和作业队列,基于分布式消息传递。类似 Python 的 Celery 框架。 |
5 | kaca | http://github.com/scottkiss/kaca | kaca 是用 golang 语言开发的基于 websocket 协议的消息发布/订阅系统。 |
服务器管理
序号 | 名称 | 项目地址 | 简介 |
1 | Sharkey | https://github.com/square/sharkey | Sharkey 是OpenSSH管理证书使用的服务。Sharkey 分为客户端组件和服务端组件,服务端负责发布已签署的主机证书,客户端负责在机器上安装主机证书。 |
2 | OSinstall | http://github.com/idcos/osinstall | CloudBoot”(OSinstall)云装机平台,是金融云初创公司杭州云霁科技推出的一款X86服务器全自动装机工具,遵循Apache协议,完全开源免费。全自动构建物理机资源池,像创建虚拟机一样方便的安装物理机。 |
3 | ssh2go | http://github.com/karfieldssh2go | 是对libssh的golang 封装。libssh是SSH的代码库,同时支持服务端和客户端,日常所见的ssh, sshd, scp, sftp均基于libssh。ssh2go是对libssh的Go语言绑定, 100%的libssh接口都可用,同时集成示例,方便参考。 |
4 | Gooverssh | https://github.com/scottkiss/gooverssh | gooverssh 是基于gosshtool的一个ssh开发包开发的一个基于ssh本地端口转发服务小应用,可以方便突破一些网络限制,如通过ssh代理访问内网数据库服。 |
5 | gosshtool | http://github.com/scottkiss/gosshtool | gosshtool provide some useful functions for ssh client in golang.implemented using golang.org/x/crypto/ssh.go语言中提供ssh相关操作,支持ssh本地端口转发服务。 |
6 | WebConsole | http://git.oschina.net/shibingli/webconsole | 基于Golang、WebSocket、TermJS的SSH远程终端,主要应用到隔离网络内,SSH远程终端的访问问题。 |
7 | GoWebSSH | http://github.com/who246/GoWebSSH | GoWebSSH -golang 语言开发的 web server manager 服务器及命令管理/beego开源框架/WebSocket技术。 |
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
程序员编程交流QQ群:805358732
如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!