- 添加GOPROXY到你的环境变量中
window
:set GOPROXY=https://goproxy.io
linux
:export GOPROXY=https://goproxy.io
- 进行你的项目根目录 执行 命令
go mod tidy
来拉取所有依赖包
function main (){
// 启动3个knowing的rpc服务
for i := 0; i < 3; i++ {
conf := &config.ServiceConf{
EtcdAuth: config.EtcdAuth{}, //1
Schema: "www.vector.com", // //2
ServerName: "knowing",//3
Endpoints: []string{"127.0.0.1:2379"},//4
ServerAddress: ":2000"+strconv.Itoa(i),
}
demo := &RegionHandlerServer{ServerAddress: conf.ServerAddress}
rpcServer, err := grpcx.MustNewGrpcxServer(conf, func(server *grpc.Server) {
proto.RegisterRegionHandlerServer(server, demo)
})
if err != nil {
panic(err)
}
log.Fatal(rpcServer.Run())
}
}
1
EtcdAuth
这是配置etcd的访问时权限设置auth
,UserName 和 PassWord,如果没有设置etcd的auth就不加
2
Schema
随便什么都可以,一般会写成您的公司网址或代号
3
ServerName
这个rpc服务的名称
4
Endpoints
Etcd的集群地址
func main() {
conf := &config.ClientConf{
EtcdAuth: config.EtcdAuth{},
Target: "www.vector.com:///knowing",
Endpoints: []string{"127.0.0.1:2379"},
}
r, err := grpcx.MustNewGrpcxClient(conf)
if err != nil {
panic(err)
}
conn, err := r.NextConnection()
if err != nil {
panic(err)
}
regionHandlerClient := proto.NewRegionHandlerClient(conn)
for {
res, err := regionHandlerClient.GetListenAudio(
context.Background(),
&proto.FindRequest{Tokens: []string{"a_"}},
)
if err != nil {
log.Fatal(err)
}
fmt.Println(res)
time.Sleep(2 * time.Second) // 每两次请求一次knowing的rpc服务
}
}
Items:<token:"a_127.0.0.1:20002" listen:1 >
Items:<token:"a_127.0.0.1:20001" listen:1 >
Items:<token:"a_127.0.0.1:20000" listen:1 >
Items:<token:"a_127.0.0.1:20002" listen:1 >
Items:<token:"a_127.0.0.1:20001" listen:1 >
Items:<token:"a_127.0.0.1:20000" listen:1 >
Items:<token:"a_127.0.0.1:20002" listen:1 >
Items:<token:"a_127.0.0.1:20001" listen:1 >
Items:<token:"a_127.0.0.1:20000" listen:1 >
Items:<token:"a_127.0.0.1:20002" listen:1 >
Items:<token:"a_127.0.0.1:20001" listen:1 >
Items:<token:"a_127.0.0.1:20000" listen:1 >
Items:<token:"a_127.0.0.1:20002" listen:1 >
Items:<token:"a_127.0.0.1:20001" listen:1 >
Items:<token:"a_127.0.0.1:20000" listen:1 >
Items:<token:"a_127.0.0.1:20002" listen:1 >