github完整代码地址
个人博客
micro API网关
micro API网关是基于go-micro开发的,具有服务发现,负载均衡和RPC通信的能力。
业界普遍做法是将鉴权,限流,熔断等功能也纳入API网关。micro API网关本身是可插拔的,可以通过新增插件的方式加入其他功能。
JWT (JSON Web Token)
JWT是是微服务中常用的授权技术,关于JWT的技术原理可以参考阮一峰的博文
JWT库封装
- lib/token 目录下封装了JWT的库。有一点特殊的是,库中利用consul的KV存储和micro的go-config库实现了动态更新JWT的PrivateKey功能,实际生产中还是应该使用拥有发布和权限管理的配置中心。
- go-config 是micro作者实现的一个可动态加载、可插拔的配置库,可以从多种格式文件或者远程服务获取配置。详情可以参考文档中文文档|英文文档