一个微服务 Demo 将我三年 Go Web 开发经验传授给你
Golang-microservice-demo
本项目为 Golang 开发的一个微服务 server demo,展示了 grpc、gorm 等常用库的使用,以及 k8s、opentracing 等流行生态的适配,错误处理、Context、Chan 等编码技巧,测试驱动开发的尝试。是作者对自己 Go web 开发经验的记录和总结,配套文档可点击链接查看。
项目代码:https://github.com/win5do/go-...
Dependencies
- grpc
- grpc-gateway
- grpc-middleware
- gorm v2
- opentracing / jaeger
- gin
- gomock
Design
- 文档生成
- 代码生成
- 简化的 DDD 架构
- DB 分布式锁
- Repository pattern
- 高可用、横向扩展
- Error with stackTrace
- Context
- Unit test / Integration test
- Deploy with Docker / Kubernetes
无风的内存空间
编程相关,随手记下
657 声望
58 粉丝
推荐阅读
[ k8s-operator 系列 ] 自动生成 webhook 证书并在过期时自动刷新
下面要介绍的是另一种方式:github.com/open-policy-agent/cert-controller,最初是在 open-policy-agent/gatekeeper 中看到这种用法,感觉非常 Geek。
无风赞 1阅读 4.1k
一个HTTP请求的曲折经历
作为程序员的我们每天都在和网络请求打交道,而前端程序员接触的最多的就是HTTP请求。平时工作中,处理网络请求之类的操作是最多的了。但是一个请求从客户端发出到被服务端处理、再回送响应,再被客户端接收这一...
nero赞 24阅读 5.1k评论 1
Nginx 一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增...
民工哥赞 23阅读 1.1k
Golang 中 []byte 与 string 转换
string 类型和 []byte 类型是我们编程时最常使用到的数据结构。本文将探讨两者之间的转换方式,通过分析它们之间的内在联系来拨开迷雾。
机器铃砍菜刀赞 24阅读 58.3k评论 2
年度最佳【golang】map详解
这篇文章主要讲 map 的赋值、删除、查询、扩容的具体执行过程,仍然是从底层的角度展开。结合源码,看完本文一定会彻底明白 map 底层原理。
去去1002赞 16阅读 11.6k评论 2
年度最佳【golang】GMP调度详解
Golang最大的特色可以说是协程(goroutine)了, 协程让本来很复杂的异步编程变得简单, 让程序员不再需要面对回调地狱, 虽然现在引入了协程的语言越来越多, 但go中的协程仍然是实现的是最彻底的. 这篇文章将通过分析...
去去1002赞 15阅读 12k评论 4
最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...
tiny极客赞 11阅读 2.9k评论 2
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。