go语言项目实战
文章平均质量分 94
项目实战驱动为主,记录自己go语言学习过程,涉及的内容包括语法、类型系统、并发、管道、测试等
编程实战营
爱老婆娃儿、爱技术、爱锻炼的小胖子,哈哈
展开
-
hashicorp go-plugin构建golang插件系统
一、go-plugin简介1、1 go-plugin是什么?我们知道Go语言缺乏动态加载代码的机制,Go程序通常是独立的二进制文件,因此难以实现类似于C++的插件系统。即使go的最新标准引入了go plugin机制,但是由于限制性条件比较多导致在生产环境中不是很好用,比如插件的编写环境和插件的使用环境要保持一致,如gopath、go sdk版本等。HashiCorp公司开源的go-plugin库解决了上述问题,允许应用程序通过本地网络(本机)的gRPC调用插件,规避了Go无法动态加载代码的缺点。go-原创 2021-04-26 23:43:45 · 1628 阅读 · 0 评论 -
groupcache 全方位解读之LRU篇
一、核心组件概览groupcache的核心组件,按照优先级列举如下:1、1 http部分peers接口singleflightLRUconsistenthashbyteviewsinksgroupcachepb参考文档:https://cloud.tencent.com/developer/article/1454568...原创 2021-01-29 19:58:52 · 691 阅读 · 0 评论 -
groupcache 全方位解读之基础篇
groupcache的官网文档太少了,几乎是没有,这篇文章是整合网上的文章加上自己的思考。目录一、groupcache简介二、项目代码目录结构三、编写demo并运行(玩耍吧,少年!)四、源代码流程分析4、1 读取缓存流程4、1、1 查询本地的maincache和hotcache缓存4、1、2 peer查询4、1、3 调用用户注册的回调函数回填缓存4、2 写入缓存流程5、总结一、groupcache简介1、1 功能和特性groupcache is a d原创 2021-01-29 14:32:34 · 1348 阅读 · 11 评论 -
golang 博文 阅读笔记
Goroutine Leaks - The Forgotten Senderhttps://www.ardanlabs.com/blog/2018/11/goroutine-leaks-the-forgotten-sender.html解决办法:将无缓冲的channel换成有缓冲的channel,其容量为1Now in the timeout case,after the receiv...原创 2019-04-24 13:59:43 · 282 阅读 · 0 评论 -
golang 实战企业网盘
一、功能需求1.基于golang实现分布式文件上传服务2.ceph和阿里云oss3.支持断点续传和秒传功能4.微服务化和容器部署二、项目使用到的技术redismysqlrabbitmqdocker部署微服务ceph分布式存储阿里云oss三、收获干货文件分块断点续传/秒传对象从私有云迁移到阿里云oss的经验四、项目进度...原创 2019-04-18 10:14:48 · 2620 阅读 · 4 评论 -
分布式网页爬虫系统 设计和实现
分布式爬虫设计和实现1.总体设计功能模块划分:数据抓取引擎1.1 调研市面上爬虫框架或库pholcuscollygocrawl开发工具:goland开发语言:golang数据存储:ElasticSearch前端展示:使用Go语言标准模板库实现http的数据显示部分爬取内容:相亲类网站的数据爬虫算法:城市列表 --城市--用户信息,从种...原创 2019-02-08 09:57:01 · 2099 阅读 · 3 评论 -
go开源项目整理-新手篇
参考链接: https://studygolang.com/articles/7708 下面推荐几款适合学习的项目: 小弟以前对IM聊天工具和爬虫情有独钟,所以选择的入手开源项目是 Pholcus(幽灵蛛)一块开源的分布式爬虫。 后续也可以和python开源爬虫框架scrapy一起对照学习1、cache2go https://github.com/muesli/cache2go比较简单的原创 2017-10-11 17:12:12 · 19515 阅读 · 9 评论