in rpc/multi-protocols/go-client/cmd/main.go [30:97]
func main() {
ins, err := dubbo.NewInstance(
dubbo.WithName("dubbo_multirpc_client"),
dubbo.WithRegistry(
registry.WithZookeeper(),
registry.WithAddress("127.0.0.1:2181"),
),
)
if err != nil {
panic(err)
}
//Triple
cli, err := ins.NewClient(
client.WithClientProtocolTriple())
if err != nil {
panic(err)
}
svc, err := greet2.NewGreetService(cli)
if err != nil {
panic(err)
}
respTriple, err := svc.Greet(context.Background(), &greet2.GreetRequest{Name: "hello world"})
if err != nil {
logger.Error(err)
}
logger.Infof("Greet triple response: %s", respTriple.Greeting)
//Duboo
cliDubbo, err := ins.NewClient(
client.WithClientProtocolDubbo(),
client.WithClientSerialization(constant.Hessian2Serialization),
)
if err != nil {
panic(err)
}
connDubbo, err := cliDubbo.Dial("GreetProvider")
if err != nil {
panic(err)
}
var respDubbo string
if err = connDubbo.CallUnary(context.Background(), []interface{}{"hello", "new", "dubbo"}, &respDubbo, "SayHello"); err != nil {
logger.Errorf("GreetProvider.Greet err: %s", err)
return
}
logger.Infof("Get dubbo Response: %s", respDubbo)
//JsonRpc
cliJsonRpc, err := ins.NewClient(
client.WithClientProtocolJsonRPC(),
client.WithClientSerialization(constant.JSONSerialization),
)
if err != nil {
panic(err)
}
connJsonRpc, err := cliJsonRpc.Dial("GreetProvider")
if err != nil {
panic(err)
}
var respJsonRpc string
if err := connJsonRpc.CallUnary(context.Background(), []interface{}{"hello", "new", "jsonrpc"}, &respJsonRpc, "SayHello"); err != nil {
logger.Errorf("GreetProvider.Greet err: %s", err)
return
}
logger.Infof("Get jsonrpc Response: %s", respJsonRpc)
}