golang
画个圈圈自己跳
k8s
展开
-
Dubbo-go Consumer调用Dubbo-java Provider
Dubbo-go Consumer调用Dubbo-java Provider一、必要说明需求: 实现golang客户端调用java服务端dubbo接口发送短信的功能服务端使用Java语言提供了短信发送的Dubbo接口(基于Dubbo 2.7.*)客户端基于dubbo-go 1.5.2-rc2调用以上Java提供的Dubbo Provider客户端要想使用dubbo-go 3.0,Provider也必须使用dubbo-java 3.0二、根据Java Provider Interface定义对原创 2021-09-19 16:50:45 · 1196 阅读 · 0 评论 -
client-go 之informer理解
Infromer类图概览:一、cache 包中的SharedInformer接口主要功能:给其客户端提供一个给定资源对象集合的最终一致性访问接口1、内部维护了一个本地缓存,通过GetStore()暴露,该接口的实现sharedIndexInformer同时通过GetIndexer()暴露,接口SharedIndexInformer包含了SharedInformer;2、本地缓存刚开始是空的,在调用Run()过程中被填充或更新,Run()保证本地缓存和ApiServer的最终一致性3、存放在St原创 2021-04-07 14:42:43 · 1047 阅读 · 0 评论 -
Golang Option设置模式
Golang Option设置模式Kubernetes、etcd等开源golang项目中经常见到的设计模式之一,常在给应用启动设置参数中见到:type Client interface { Conn()}type DBClient struct { timeout int retryTimes int}func (c DBClient) Conn() { // Do SOMETHING}type ClientConnOption func(*ClientConnOptio原创 2021-03-24 19:37:01 · 618 阅读 · 0 评论 -
golang将IP格式的掩码转换为整型数字
// 将ip格式的掩码转换为整型数字// 如 255.255.255.0 对应的整型数字为 24func ipMaskToInt(netmask string) (int, error) { ipSplitArr := strings.Split(netmask, ".") if len(ipSplitArr) != 4 { return 0, fmt.Errorf("netmask:...原创 2019-07-12 14:24:16 · 3592 阅读 · 0 评论 -
Go module机制
Go module机制从go1.11开始支持可以不需要gopath存在环境变量GO111MODULE,默认为auto项目存在go.mod则使用go module,否则使用GOPATH和vendor机制一、使用1.新建项目名目录mkdir mypro2.使用go mod初始化项目cd myprogo mod init mypro3.在项目代码中添加外部依赖...原创 2019-03-07 14:15:16 · 3475 阅读 · 0 评论