1 Star 1 Fork 0

titan-kit / titan

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
package main
import (
"context"
"fmt"
"strconv"
"gitee.com/titan-kit/titan/backends/etcd/registry"
"gitee.com/titan-kit/titan/errors"
"gitee.com/titan-kit/titan/examples/rpc/demo"
"gitee.com/titan-kit/titan/log"
"gitee.com/titan-kit/titan/middleware"
"gitee.com/titan-kit/titan/middleware/logging"
"gitee.com/titan-kit/titan/middleware/recovery"
"gitee.com/titan-kit/titan/starter/rpc"
etcd "go.etcd.io/etcd/client/v3"
)
func main() {
cli, err := etcd.New(etcd.Config{Endpoints: []string{"127.0.0.1:2379"}})
if err != nil {
panic(err)
}
logger := log.DefaultLogger
conn, err := rpc.DialInsecure(
context.Background(),
rpc.WithEndpoint("discovery:///demo"),
rpc.WithDiscovery(registry.New(cli)),
rpc.WithMiddleware(
middleware.Chain(
recovery.Recovery(),
logging.Client(logger),
),
),
)
if err != nil {
panic(err)
}
client := demo.NewGreeterClient(conn)
for i := 0; i <= 10; i++ {
reply, err := client.SayHello(context.Background(), &demo.HelloRequest{Name: "titian-" + strconv.Itoa(i)})
if err != nil {
panic(err)
}
logger.Log(log.INFO, fmt.Sprintf("[rpc] SayHello %+v", reply))
// returns error
_, err = client.SayHello(context.Background(), &demo.HelloRequest{Name: "error"})
if err != nil {
logger.Log(log.INFO, fmt.Sprintf("[rpc] SayHello error: %v", err))
}
if errors.IsBadRequest(err) {
logger.Log(log.INFO, fmt.Sprintf("[rpc] SayHello error is invalid argument: %v", err))
}
}
}
1
https://gitee.com/titan-kit/titan.git
git@gitee.com:titan-kit/titan.git
titan-kit
titan
titan
1c22510256b6

搜索帮助

53164aa7 5694891 3bd8fe86 5694891