go-zero rpc配置

2022-04-25 17:47 更新

rpc配置

rpc配置控制着一个rpc服务的各种功能,包含但不限于监听地址,etcd配置,超时,熔断配置等,下面我们以一个常见的rpc服务配置来进行说明。

配置说明

Config struct {
    zrpc.RpcServerConf
    CacheRedis         cache.CacheConf // redis缓存配置,详情见api配置说明,这里不赘述
    Mysql struct { // mysql数据库访问配置,详情见api配置说明,这里不赘述
        DataSource string
    }
}

zrpc.RpcServerConf

RpcServerConf struct {
    service.ServiceConf // 服务配置,详情见api配置说明,这里不赘述
    ListenOn      string // rpc监听地址和端口,如:127.0.0.1:8888
    Etcd          discov.EtcdConf    `json:",optional"` // etcd相关配置
    Auth          bool               `json:",optional"` // 是否开启Auth,如果是则Redis为必填
    Redis         redis.RedisKeyConf `json:",optional"` // Auth验证
    StrictControl bool               `json:",optional"` // 是否Strict模式,如果是则遇到错误是Auth失败,否则可以认为成功
    // pending forever is not allowed
    // never set it to 0, if zero, the underlying will set to 2s automatically
    Timeout      int64 `json:",default=2000"` // 超时控制,单位:毫秒
    CpuThreshold int64 `json:",default=900,range=[0:1000]"` cpu降载阈值,默认900,可允许设置范围0到1000
}

discov.EtcdConf

type EtcdConf struct {
    Hosts []string // etcd host数组
    Key   string // rpc注册key
}

redis.RedisKeyConf

RedisConf struct {
    Host string // redis 主机
    Type string `json:",default=node,options=node|cluster"` // redis类型
    Pass string `json:",optional"` // redis密码
}

RedisKeyConf struct {
    RedisConf
    Key string `json:",optional"` // 验证key
}


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号