Go
文章平均质量分 61
sandwu
这个作者很懒,什么都没留下…
展开
-
golang分布式队列解决方案
前文 项目开发过程中需要一个框架,可以实现异步队列,将整个项目解耦。由于项目主体是Python写的,Python里celery作为异步非常的广泛,但是celery的缺点是可视化不足,稳定性也不行,当线上量大的时候,容易出现不可知异常导致失败; 对于分布式框架,需求它轻量易接入,同时可以直接用redis做队列,而不需要再引入第三方组件如 MQ、kafka;Python这块相关的的确比较乏力,而golang高并发的性质在这块可以支撑很多,可选如下:goworker:https://github.co原创 2022-03-07 17:09:54 · 2170 阅读 · 0 评论 -
grpc+golang与python交互
前文 关于grpc是什么以及python如何搭建,可以参考这篇:https://blog.csdn.net/weixin_42681866/article/details/121509556?spm=1001.2014.3001.5501,本篇说下如何基于golang来搭建;基本上grpc在golang的应用是非常广泛的,主要是用于agent和master的通讯,同时也是云原生的通讯必备;比如k8s就是用的grpc。实操 当我们定义好proto文件的时候,需要通过golang-tools将其转换为原创 2021-12-15 19:37:41 · 1657 阅读 · 0 评论 -
golang日志框架--logrus+lfshook+file-rotatelogs
前文 golang自带的log可以满足小部分场景,而如果我们需要有个比较完善的日志模块,推介用成熟的框架,这里推介组合:logrus+lfshook+file-rotatelogs。 logrus目前是github点赞最多的日志仓库,达18k,其有丰富的hook,且可以自定义,并且天然兼容log模块;但缺点是不支持日志按文件生成,于是引入file-rotatelogs来支持日志按文件生成,且按天分割;最后引入lfshook来组合二者。使用安装 先安装依赖:在这里插入代码片...原创 2021-10-20 23:12:57 · 4243 阅读 · 1 评论 -
ambiguous import: found package github.com/spf13/cobra/cobra in multiple modules --解决方法
引用文章:https://stackoverflow.com/questions/63710830/spf13-cobra-cant-download-binary-to-gopath-bin在下载包用go mod管理时,会下载到$GOPATH/pkg/mod下。而在下载cobra的时候,会自动的在$GOPATH/bin目录下创建可执行二进制文件cobra,如果原先有添加如下命令道~/.bashrc里就能自动引用cobra作为命令行工具:export PATH=$PATH:$GOROOT/bin:$G原创 2021-07-21 10:13:57 · 2771 阅读 · 0 评论