GitHub上优秀的Go开源项目

摘要:
GitHub托管地址:https://github.com/deis/deis5.FlynnFlynn它是一个用Go语言编写的开源PaaS平台,可以自动构建和部署任何应用程序以在Docker容器集群上运行。弗林项目由YCombinator支持,目前仍在开发中。它被称为下一代开源PaaS平台。GitHub托管地址:https://github.com/flynn/Flynn6.Lime与云和服务器中的上述Go语言相比,Lime更为特殊。GitHub托管地址:https://github.com/syncthing/syncthing10.GogsGogs这是一个由中国人开发的自助Git服务项目。

2014年11月,Golang官方博客发布Go语言核心开发组成员Andrew Gerrand文章 《Half a decade with Go》,以纪念Go语言发布5周年。Andrew Gerrand在文章中称,Go语言在工业界向云计算转型时代找到了自己的位置,目前一些重量级的云计算项目比如有名的Docker等都是用Go语言开发的,并预言“2015年将是Go语言急剧发展之年”(“ 2015 will be Go's biggest year yet.”)。 


GitHub上优秀的Go开源项目第1张 
Go语言:制霸云计算时代
引用
从国内Go语言发展和应用来看,七牛算是国内第一家选Go语言做服务端的公司。在前段时间,《技术人攻略》对七牛CEO许式伟所做的一篇深度采访(采访原文)中,许式伟对“为何早在2011年Go语法还没完全稳定下来的情况下选择Go作为存储服务端的主体语言”给出自己的解释。许式伟谈到说: 
编程哲学的重塑是Go语言独树一帜的根本原因,其它语言仍难以摆脱OOP或函数式编程的烙印,只有Go完全放弃了这些,对编程范式重新思考,对热门的面向对象编程提供极度简约但却完备的支持。Go是互联网时代的C语言,不仅会制霸云计算,10年内将会制霸整个IT领域。


前不久,Facebook也开源了很多Go语言库,可前往GitHub托管地址查看。 

Go语言目前从虚拟化到Git代码托管服务等方面,都有重量级项目现身,越发凸现Go语言在云计算时代的重要性。 

1. Docker 

到现在,Docker几乎是Go再难找到也难以复制的一个成功案例。Docker项目在2014年9月份就拿到了C轮4000万美元融资,版本迭代速度超快,目前从GitHub看到已有78个版本,而它仅仅是再2013年初才正式开始的一个项目而已。目前,国内Docker技术推广也进行的如火如荼,比如 Docker中文社区,CSDN也建立了 Docker专区。CSDN CODE也将在近期与Docker中文社区合作,推出Docker技术文章翻译活动,届时也请大家多多关注,及时关注与参与。 

Docker团队之所以喜欢用Go语言,主要是Go具有强大的标准库、全开发环境、跨平台构建的能力。 

GitHub托管地址: https://github.com/docker/docker 

2. Kubernetes 

Kubernetes是2014年夏天Google推出的Kubernetes,基于Docker,其目的是让用户通过Kubernetes集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是Container Pod(容器仓)。 

GitHub托管地址: https://github.com/GoogleCloudPlatform/kubernetes 

3. Etcd & Fleet 

etcd是由CoreOS开发并维护键值存储系统,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。目前,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。详情,可了解 《Etcd:用于服务发现的键值存储系统》。 Fleet则是一个分布式的初始化系统。它们之所以选择使用Go语言,则是因为Go语言对跨平台的良好支持,以及其背后的强大社区。 

GitHub托管地址: https://github.com/coreos/etcd 

4. Deis 

Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得轻松容易。它可以运行在AWS、GCE以及Openstack平台下。详情,可了解 《Deis v1.0正式发布!》。 

GitHub托管地址: https://github.com/deis/deis 

5. Flynn 

Flynn是一个使用Go语言编写的开源PaaS平台,可自动构建部署任何应用到Docker容器集群上运行。Flynn项目受到Y Combinator的支持,目前仍在开发中,被称为是下一代的开源PaaS平台。 

GitHub托管地址: https://github.com/flynn/Flynn 

6. Lime 

相对上面的几款Go语言在云端和服务器端之外,Lime则显得比较特殊。Lime,则是一款用Go语言写的桌面编辑器程序,被看做是著名编辑器Sublime Text的开源实现。 

GitHub托管地址: https://github.com/limetext/lime 

7. Revel 

Revel是一个高生产力的Go语言Web框架。Revel框架支持热编译,当编辑、保存和刷新源码时,Revel会自动编译代码和模板;全栈特性,支持路由、参数解析、缓存、测试、国际化等功能。 

GitHub托管地址: https://github.com/revel/revel 

8. InfluxDB 

一个Go语音编写的开源分布式的时序、事件和指标数据库,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。 

GitHub托管地址: https://github.com/influxdb/influxdb 

9. Syncthing 

一款用Go语言编写的开源云存储和同步服务工具,用户的数据将由自己完全控制,所有的通信全都加密,每个访问节点都用加密证书验证。该项目被认为是Dropbox和 BitTorrent Sync的开源替代, 详情。Syncthing之所以选择Go语言,也是出于跨平台考虑。 

GitHub托管地址: https://github.com/syncthing/syncthing 

10. Gogs 

Gogs则是一款由国人无闻(GitHub)开发的自助Git服务项目。Gogs的目标是打造一个最简单、最快速和最轻松的方式搭建自助Git服务。据作者称,之所以选择使用Go语言开发,就是Go允许Gogs可以通过独立的二进制分发,且对跨平台有良好支持。 

GitHub托管地址: https://github.com/gogits/gogs 

11. golang

go本身,也是用go语言实现的,包括他的编译器,要研究go源代码的可以看此项目录

12. lantern

蓝灯,一款P2P的过墙软件,他和SS不一样的是,他是分布式的,P2P的,通过蓝灯,你可以和自由上网的用户共享网络,对方可以自由上网,你也就自由了。

13. awesome-go

这不是一个go项目,他是一个学习go的资料网站,属于著名的awesome系列,里面关于go的资源非常详细。

14. hugo

一款极速的静态页面生成器,让你可以很快的搭建个人网站,提供了多套主题可供使用,并且可以自己定制,和NodeJS的Hexo是一样的。

15. grafana

一款开源监控度量的看板系统,可以接Graphite,Elasticsearch,InfluxDB等数据源,定制化很高。

16. hub

一款更便捷使用github的工具,包装并且扩展了git,提供了很多特性和功能,使用和git差不多。

17. caddy

快速的,跨平台的HTTP/2 Web服务器。

18. beego

国产开源的高性能Web框架,让你快速的开发Go Web应用服务,谢大主笔。

19. martini

也是一款不错的Web框架。

20. caddy

快速的,跨平台的HTTP/2 Web服务器。

21. beego

国产开源的高性能Web框架,让你快速的开发Go Web应用服务,谢大主笔。

22. martini

也是一款不错的Web框架。

23. cayley

Google开源的图数据库,这是一个NoSql数据库,适合处理复杂的,但是结构化低的数据,适用于社交网络,推荐系统等。

24. nsq

一款开源的实时的,分布式的消息中间件系统。

25. codis

Codis是一个分布式Redis解决方案,其实就是一个数据库代理,让你在使用Redis集群的时候,就像使用单机版的Redis是一样的,对开发者透明。

26. delve

这个Go开发者都知道,一款go应用开发的调试工具。

27. cobra

cobra是一个命令行go库,可以让你创建非常强大的,现代的CLI命令行应用。

28. shadowsocks-go

go版本的shadowsocks,大家都懂的。

29. pholcus

Pholcus(幽灵蛛)是一款纯Go语言编写的支持分布式的高并发、重量级爬虫软件,定位于互联网数据采集,为具备一定Go或JS编程基础的人提供一个只需关注规则定制的功能强大的爬虫工具。

 另外推荐两个

免责声明:文章转载自《GitHub上优秀的Go开源项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Excle数据透视表】如何利用图标集将销售数据划分为五个等级Delphi线程基础知识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Docker官方的Django包【转】

官方Django docker,并没有安装Django 所以需要 在requirements.txt中配置Django 具体安装流程可以参考:http://www.logme.cn/blog/51/use_Docker_official_django/ 作两记录: - python安装modules,切换到Python27Scripts 执行 easy_i...

Oxygen-Dapr.EshopSample 部署随记

 运行环境:Windows 10家庭中文版 版本号:1909 一、下载并安装docker desktop for windows 下载:https://www.docker.com/products/docker-desktop 安装要求: 安装WSL2: https://docs.microsoft.com/zh-cn/windows/wsl/insta...

Nginx https加密以及nginx日志配置与管理

Nginx https加密以及nginx日志配置与管理使用Nginx的优点Nginx作为WEB服务器,Nginx处理静态文件、索引文件、自动索引的效率非常高。Nginx作为代理服务器,Nginx可以实现无缓存的反向代理,提高网站的性能Nginx作为负载均衡服务器,内部可以支持PHP、也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进...

manjaro安装anaconda

安装 yay -S anaconda 配置环境变量 # 添加到 /etc/profile 或者 ~/.bashrc export PATH=$PATH:/opt/anaconda/bin/ 配置conda conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk...

sql自动化检查和分析工具 :soar和soar-web 安装和使用体验

为了研究一下sql自动化检查和分析工具,是否有网上介绍的好用,我在本地进行soar 和 soar-web的安装和使用。 初步的实验结果,总结如下: 1. 安装相对来说较为麻烦,特别是soar-web的依赖包安装,涉及到python pip相关组件的下载安装。 2. 启动soar-web会遇到一些奇怪问题,提示 “ImportError: No module...

Docker 运行 MYSQL 数据库的总结

公司里面要求做一个小demo 学习java相关的东西  然后使用了mysql数据库  很早之前做过mysql的容器化运行. 现在想想已经忘记的差不多了  所以这里总结一下 docker化运行mysql数据库的方法 1. 先说 mariadb 其实mariadb 就是mysql创始人反抗oracle的一个硬分支 里面的 环境变量和数据文件的路径还基本上相似....