个人Go中间件学习仓库
地址:https://github.com/TechCodingLearning
TinyRPC
地址:https://github.com/zehuamama/tinyrpc
介绍:tinyrpc is a high-performance RPC framework based on protocol buffer encoding. It is based on net/rpc and supports multiple compression formats (gzip, snappy, zlib).
包括协议、编解码、序列化与反序列化
Redis-tools
地址:https://github.com/zehuamama/redis-tools
介绍:redis-tools is a collection of redis tools, including distributed lock, cas, casEx, cad .
Reverse proxy and load balancer
地址:https://github.com/zehuamama/balancer
介绍:balancer is a layer 7 load balancer that supports http and https, and it is also a go library that implements load balancing algorithms.
包括基本方向代理原理,均衡器设计,一致性哈希等
Consistent-hash
地址:https://github.com/lafikl/consistent
介绍:A Golang implementation of Consistent Hashing and Consistent Hashing With Bounded Loads.
Gee-web
地址:https://github.com/geektutu/7days-golang/tree/master/gee-web
介绍:类似Gin的web框架,包括context、router、group、middleware、template详细设计;
- context是贯穿程序始终的上下文;
- router为基本路由,采用字典树实现,基本搜索、匹配均采用深搜;
- group位router的进一步封装,也是树形结构,可以实现嵌套路由;
- middleware则可以为router/group添加中间件、过滤器等;
- template则实现了web模版;
Gee-orm
地址:https://github.com/geektutu/7days-golang/tree/master/gee-orm
介绍:ORM框架实现,基本反射实现、支持多种数据库;