通过一张图来看一下,go-micro注册服务到Consul时都做了什么。 服务注册关键是实现两个动作: 1、注册:rpcServer启动的时候,会调用到自身的Register方法,Register方法会调用consul插件的Register方法,然后调用到consul自身SDK提供的Agent.ServiceRegister方法,将服务注册到Consul中。注册的服务名称就是NewServer时的server.Na...
通过一张图来看一下,go-micro注册服务到Consul时都做了什么。 服务注册关键是实现两个动作: 1、注册:rpcServer启动的时候,会调用到自身的Register方法,Register方法会调用consul插件的Register方法,然后调用到consul自身SDK提供的Agent.ServiceRegister方法,将服务注册到Consul中。注册的服务名称就是NewServer时的server.Na...
在micro目录下新建一个consul.go文件 1.设置consul配置中心 // GetConsulConfig 设置配置中心 func GetConsulConfig(host string, port int64, prefix string) (config.Config, error) { consulSource := consul.NewSource( //设置配置中心的地址 consul.WithAddress(host+":"+strconv.FormatInt(port, 10)),...
通过一张图来看一下,go-micro注册服务到Consul时都做了什么。 服务注册关键是实现两个动作: 1、注册:rpcServer启动的时候,会调用到自身的Register方法,Register方法会调用consul插件的Register方法,然后调用到consul自身SDK提供的Agent.ServiceRegister方法,将服务注册到Consul中。注册的服务名称就是NewServer时的server.Na...
Consul是一个开源的分布式服务发现和配置管理工具,可以用于实现服务的注册与发现、配置管理等功能。在微服务架构中,服务之间的通信和发现是非常重要的,而Consul可以帮助开发人员轻松地实现这些功能。下面是一个使用Go-Micro结合Consul搭建微服务的案例: 安装并配置Consul首先,需要在本地或生产环境中安装并配置Consul。确保...
2、健康上报:即刷新TTL,服务注册成功后,会启动一个定时器定时调用consul插件的Register方法,这个方法内部判断服务注册过,则会调用consul自身SDK提供的Agent.PassTTL方法,刷新Consul中对应服务的TTL。 健康检查 go-micro服务的健康状态是通过TTL维护的,服务需要定时去刷新TTL,如果TTL超过指定的时间没有被刷新,则服务会被...
2、健康上报:即刷新TTL,服务注册成功后,会启动一个定时器定时调用consul插件的Register方法,这个方法内部判断服务注册过,则会调用consul自身SDK提供的Agent.PassTTL方法,刷新Consul中对应服务的TTL。 健康检查 go-micro服务的健康状态是通过TTL维护的,服务需要定时去刷新TTL,如果TTL超过指定的时间没有被刷新,则服务会被...
micro.Server(rpcServer), ) service.Init() // Run server if err := service.Run(); err != nil { log.Fatal(err) } } 通过consul.NewRegistry()创建一个Consul 注册中心,然后使用server.NewServer创建Server的时候把它设置进去;同时我们需要指定服务的名称,这里设置的是registry-consul.service;另外这里不...
micro version v3.11.0 Consul v1.12.2 etcd Version: 3.5.4 搭建环境 GO 官网下载 The Go Programming Language 2.配置环境 //配置文件.bash_profile 或 .zshrc # Go export GOPROXY=https://goproxy.cn,direct export GOROOT=/usr/local/go1.15 export GOPATH=/Users/xiaobai/go/code export PATH=$PATH...
Consul 角色 DEV 启动模式(单节点的形式安装部署-开发模式) 用于本地开发环境下的方便的进行测试。如果是线上的环境的一般我们的是用集群的模式。Consul启动时候就是一个服务注册中心. 开发模式的下,一般我们的都是基于客户端的自注册的模式进行,意思就是服务启动的时候,把服务的信息都提交到的我们的注册中心上。