参数配置客户端.md 1.2 KB

客户端

客户端调用一个简单的用户rpc服务, config文件需要增加zrpc.RpcClientConf:

package config

import (
	"github.com/tal-tech/go-zero/rest"
	"github.com/tal-tech/go-zero/zrpc"
)

type Config struct {
	rest.RestConf
	HelloRpc zrpc.RpcClientConf
}

RpcClientConf参照go-zero/zrpc/config.go, 包含服务发现的基本信息。

RpcClientConf struct {
	Etcd      discov.EtcdConf `json:",optional"`        // etcd配置,通过服务发现获取rpc服务地址
	Endpoints []string        `json:",optional=!Etcd"`  // 直连rpc服务节点
	App       string          `json:",optional"`		// 鉴权,须和服务器redis中配置一致
	Token     string          `json:",optional"`		// 鉴权,须和服务器redis中配置一致
	Timeout   int64           `json:",optional"`        // 超时
}

type EtcdConf struct {		 // etcd配置
	Hosts []string           // etcd集群地址
	Key   string             // rpc服务的key
}

对应的yaml文件为:

Name: hello-api
Host: 0.0.0.0
Port: 2003
UserRpc:
  Etcd:
    Hosts:
      - etcd.discov.svc.cluster.local:2379   # etcd在k8s集群内服务地址
    Key: hello.rpc													 # rpc服务的key