go开源项目整理-新手篇

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

1、cache2go
https://github.com/muesli/cache2go

比较简单的一个缓存库,代码量很少,适合新手学习,可以学习到锁、goroutines等。

2、groupcache

https://github.com/golang/groupcache

与memcached同一作者,相当于是memcached的go语言实现。

3、nsq
https://github.com/bitly/nsq
消息分发平台,阅读代码可以了解到很多分布式、负载均衡等方面的编程。

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

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

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,

你可能感兴趣的:(C++/java/go基础,go语言项目实战)