44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package main
|
||
|
||
import (
|
||
"fmt"
|
||
"github.com/hashicorp/consul/api"
|
||
)
|
||
|
||
func main() {
|
||
//写api的配置信息
|
||
config := api.DefaultConfig()
|
||
//注册到consul上的地址
|
||
config.Address = "127.0.0.1:8500" // Consul 服务器地址
|
||
|
||
//将config注册到客户端,由客户端实现
|
||
client, err := api.NewClient(config)
|
||
if err != nil {
|
||
panic(err)
|
||
}
|
||
|
||
// 创建一个新的服务条目
|
||
registration := new(api.AgentServiceRegistration)
|
||
registration.ID = "my-service-3"
|
||
registration.Name = "my-service"
|
||
registration.Port = 8083
|
||
registration.Address = "127.0.0.1"
|
||
registration.Tags = []string{"tag1", "tag2"}
|
||
|
||
reg := &api.AgentServiceRegistration{
|
||
Name: registration.Name, // 服务名称
|
||
ID: registration.ID, // 服务 ID,必须唯一
|
||
Address: registration.Address, //服务的地址
|
||
Port: registration.Port, // 服务端口 服务所在的监听端口
|
||
Tags: registration.Tags, // 可选:服务标签
|
||
}
|
||
|
||
// 将服务注册到 Consul
|
||
err = client.Agent().ServiceRegister(reg)
|
||
if err != nil {
|
||
panic(err)
|
||
}
|
||
fmt.Println("Service registered successfully")
|
||
|
||
}
|