Blless
Blless
看了下可以简化蛮多不必要的依赖 ``` go.etcd.io/etcd/client/pkg/v3 v3.5.0 //go.etcd.io/etcd/client/pkg/v3/transport 用来tls连接 go.etcd.io/etcd/client/v2 v2.305.0 go.etcd.io/etcd/client/v3 v3.5.0 google.golang.org/grpc v1.38.0 ```
## 上游源(官方镜像)的地址 https://proxy.golang.org ## 该项目的介绍 go 1.11以后可以通过配置GOPROXY环境变量启用镜像下载所需的开源库文件,提升下载效率 ## 为什么希望添加该镜像 Golang并没有官方统一的全局镜像站,目前大多数开源都托管在Github之上。然而还有很多优秀开源库都是放在自有Git仓库上。常用的比如: - k8s.io - google.golang.org - golang.org/x - go.etcd.io - go.uber.org 加上Github本身在中国大陆网络下访问也不算稳定,国内Go语言开发者众多,急需一个相对稳定且安全的镜像源。 ## 已知镜像站 - https://goproxy.cn (CDN,有国内、国外节点) - https://mirrors.aliyun.com/goproxy/ (CDN,有国内、国外节点) -...
看了一下登录部分token直接是uuid生成的,然后校验部分就是取token登录,把uid放进context里面。如果服务端没有做请求限制,很容易用暴力碰撞token获取已经登录的用户权限。建议用jwt或者自己把一些简单的数据uid,登录时间之类的服务端加密一下,然后去redis获取token前先解密校验一下,提升安全性。
config模块基本看完了,写几点感觉比较重要的问题把 ## config 包 首先就是config包 既然是配置,就不应该有太多的业务数据,只放一个config.Config就足够了。 Context完全是可以拆分开的。 其次 有了config.Config也不是说全局依赖 这个模块,你看很多开源的项目,mysql,redis等等初始化之前都需要New一份他们自己的Config。这样就避免了全局依赖,唯一不好的地方就是初始化的时候需要额外复制一份模块相关的配置。 比如pkg下面有很多很多不同的模块,他们的配置都只有config.Config的一部分,我会考虑在pkg下面新建一个 pkg/load.go ```go func NewServerConfig(config *config.Config) (*server.SvrConfig, error) { cfg := &server.SvrConfig{} if err := copier.Copy(cfg, config); err != nil...