前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >consul使用

consul使用

作者头像
码缘
发布2021-05-07 16:07:34
7840
发布2021-05-07 16:07:34
举报
文章被收录于专栏:PHP修行之路

安装consul

下载地址 https://releases.hashicorp.com/consul/,将下载的consul.exe 文件目录添加到系统环境中,然后执行 consul agent -dev 启动,默认监听8500端口,可以访问 http://127.0.0.1:8500/ 进行查看

在golang项目中安装consul

代码语言:javascript
复制
go get github.com/hashicorp/consul

代码:

server.go 注册服务

代码语言:javascript
复制
package main

import (
	"fmt"
	consulapi "github.com/hashicorp/consul/api"
)

func main() {

	consulConfig := consulapi.DefaultConfig()

	fmt.Println(consulConfig)

	consulClient, err := consulapi.NewClient(consulConfig)
	if err != nil {
		fmt.Println(err)
	}

	registerService := consulapi.AgentServiceRegistration{
		ID:      "1",
		Tags:    []string{"grpctest"},
		Port:    8082,
		Name:    "grpc api",
		Address: "127.0.0.1",
		Check: &consulapi.AgentServiceCheck{
			CheckID:  "grpc api",
			Interval: "5s",
			Timeout:  "5s",
			TCP:      "127.0.0.1:8082",
		},
	}

	err = consulClient.Agent().ServiceRegister(&registerService)
	fmt.Println(err)

}

client.go 发现可用服务

代码语言:javascript
复制
package main

import (
	"fmt"
	consulapi "github.com/hashicorp/consul/api"
)

func main() {

	consulConf := consulapi.DefaultConfig()
	consulClient, err := consulapi.NewClient(consulConf)
	if err != nil {
		fmt.Println(err)
	}

	serviceEntry, _, _ := consulClient.Health().Service("grpc api", "grpctest", false, &consulapi.QueryOptions{})

	fmt.Println(serviceEntry[0].Service.Address)
	fmt.Println(serviceEntry[0].Service.Port)
}

删除服务 destroy.go

代码语言:javascript
复制
package main

import (
	"fmt"
	consulapi "github.com/hashicorp/consul/api"
)

func main() {
	consulConf := consulapi.DefaultConfig()
	cli, err := consulapi.NewClient(consulConf)
	if err != nil {
		fmt.Println(err)
	}

	err = cli.Agent().ServiceDeregister("1")
	fmt.Println(err)
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档