go开源项目整理-新手篇

参考连接:
google整理的不错的开源项目
https://github.com/golang/go/wiki/Projects
https://studygolang.com/articles/7708
下面推荐几款适合学习的项目:
小弟之前对IM聊天工具和爬虫情有独钟,因此选择的入手开源项目是
Pholcus(幽灵蛛)一块开源的分布式爬虫。
后续也能够和python开源爬虫框架scrapy一块儿对照学习java

一、cache2go
https://github.com/muesli/cache2gopython

比较简单的一个缓存库,代码量不多,适合新手学习,能够学习到锁、goroutines等。mysql

二、groupcachegit

https://github.com/golang/groupcachegithub

与memcached同一做者,至关因而memcached的go语言实现。golang

三、nsq
https://github.com/bitly/nsq
消息分发平台,阅读代码能够了解到不少分布式、负载均衡等方面的编程。web

四、grpc
GRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. sql

5.boom测试工具
Boom 是 google 一女工程师使用 Go 语言开发的相似 apache ab 的性能测试工具。相比 ab,boom跨平台性更好,并且更容易安装。mongodb

6.FishChat
https://github.com/oikomi/FishChatServer
FishChat(鱼传——鱼传尺素)分布式可伸缩 IM 服务器,是一款纯 golang 编写优秀的即时通信软件(IM), 它集合了市面上已有产品的优势, 并具有 智能硬件网关管理(学习QQ物联思想, 构思中)。数据库

7.MailSlurper
MailSlurper 是一个便携的 SMTP 邮件服务器,对本地和团队应用开发来讲很是有用。MailSlurper 体积小运行快速,支持 SQLite, MSSQL 和 MySQL. 数据库。

8.Meizar
golang实现抓取妹子图。默认图片来源网站:http://jandan.net。 也能够自定义规则抓取其它网站的图片

9.Pholcus
Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操做界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;同时她还支持横纵向两种抓取模式,支持模拟登陆和任务暂停、取消等一系列高级功能

10.goim
goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议)

11.fasthttp
asthttp 是 Go 的快速 HTTP 实现,当前在 1M 并发的生产环境使用很是成功,能够从单个服务器进行 100K qps 的持续链接。HTTP 服务器性能与 net/http 比较,fasthttp 比 net/http 快 10 倍

12.gohttp
gohttp是一个http的文件服务器,功能有:各类文件的预览功能,实时的目录zip打包下载,二维码扫描下载的支持,苹果应用的在线安装,文件上传等

13.bosun
专业的跨平台开源系统监控项目,go语言编写,灵活的模板和表达式配合上各类collector能够监控任何应用或系统级的运行数据,比 zabbix更轻量级、更易入手和更适合定制。

备注: 因为小弟专一于服务器开发,因此web开发并不在个人学习范畴以内。 web开发框架 1.beego beego是一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra,