Go Modules设置私有库,以及支持HTTP的私有库操作

常规设置

首先Go Mod最好设置Goproxy,这样可以解决很多包拉取的问题:

1
go env -w GOPROXY="https://goproxy.cn,direct"

阅读全文

Go中的nil和interface

在对Go-Micro库改造中,碰到了一个nil与interface比较的问题。现象是我返回的接口是nil,返回值是另一个接口接收,在函数外,与nil进行比较,其竟然不为nil。

阅读全文

go-micro config包解读

直接使用config包中函数,例如Get/Load...等函数,我们使用的是config包,默认变量DefaultConfig

初始化过程为:

阅读全文

golang fmt.Fscanf()读取文件数据异常问题

今天看到朋友代码时,发现一个小问题,fmt.Fscanf()读取数据老是不正常,总体,可以看出来是,多读了一个0。这个现象有点问题。

阅读全文

Go Micro性能测试

基于我对网上搜索过后的结果,大多数对Micro的测试都是基于V1版本的,当然V1版本的性能也确实拉跨,被吊打的不得了,那V2版本是否有相应的进步呢?这点没有在网上搜索到,那就只能自己动手改造一个了。

阅读全文

Go Micro使用pprof查找问题

pprof 是用于可视化和分析性能分析数据的工具。

当服务出现异常CPU占用,或者内存出现爆炸式增长时,我们可以使用pprof来帮助我们进行分析。

阅读全文

块设备在Linux上读写直接使用IO

最近有接触到一些嵌入式设备,因为长期用Go,对C语言比较生疏,那也就直接使用CGO直接对数据进行读写。当我以为是很简单的一件事的时候,但我发现Linux下,直接对块设备通信,发生了一些问题。

阅读全文

Go Micro框架(v2.9.1)的使用

部署开发环境

Micro目前V3版本未稳定,使用V2版本进行学习和开发使用。

Micro已经出了V3版本,不过最近asim发言称,V3是最后一个版本了,Micro也不属于Micro团队维护项目了,它将回归于个人项目。

以前的go-micro版本:

https://github.com/microhq/go-micro

https://github.com/microhq/go-plugins

https://github.com/microhq/protoc-gen-micro

现在的消息,go-micro已经回到asim个人仓库,但其已经把开源项目的issue都关闭了(2021/5/27),只接受PR,且不会有maintainer的支持。因为他觉得Github上的人只是去抱怨,而不去解决问题。然后他就把解决问题的人给解决了,这波操作在大气层。说实话,我觉得他真的太能折腾了,这个框架实在不建议使用了,maintainer想法太多了,有点伤。

有替代品吗?有的,而且就是国内的,工程性都做的比较好,推荐两个,go-kratosgo-zerogo-zero听说是要进入CNCF基金会了。go-kratos在腾讯的一些业务上有用到。

阅读全文

win10 Linux子系统使用docker

在WSL中,想使用docker,之前是无法做到的,每次都只能是在Windows环境中使用,但今天突然发现,Windows竟然可以让子系统和docker共享一个docker使用了,Linux中使用,Docker Desktop中可以查看。

阅读全文