1. Home
  2. Docs
  3. golang
  4. 微服务-kratos
  5. 服务发现与注册

服务发现与注册

  • naming 服务注册
  • Discovery 服务发现
  • etcd

其他注册发现服务consul

etcd

etcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key-value)存储、配置共享和服务发现等功能

相关资料

官方文档

etcd-github

etcdmanager-GUI

Golang操作etcd实现服务发现

Discovery

安装 Discovery

cd $GOPATH/src
git clone https://github.com/bilibili/discovery.git
cd discovery/cmd/discovery
go build

discovery.exe -conf discovery.toml 

创建kratos项目与配置

kratos new kratos-demo

cmd\mian.go文件中添加下面代码

    ip := "127.0.0.1"
    port := "9000"
    hn, _ := os.Hostname()
    dis := discovery.New(nil)
    ins := &naming.Instance{
        Zone:     env.Zone,
        Env:      env.DeployEnv,
        AppID:    "demo.service",
        Hostname: hn,
        Addrs: []string{
            "grpc://" + ip + ":" + port,
        },
    }

如何是cmd启动的话执行命令 set DISCOVERY_NODES=127.0.0.1:7171

如何是goland配置如下

获取注册实例

访问地址: http://127.0.0.1:7171/discovery/fetch?env=dev&appid=demo.service&status=1

相关资料

discovery-api文档

kratos 服务发现 discovery

kratos Consul注册发现使用示例

Was this article helpful to you? Yes No

How can we help?