广播
例程:broadcast
Broadcast是XClient的一个方法,你可以使用它来发送一个请求给所有包含该服务的服务器。
如果所有的服务器返回没有错误,Broadcast就会返回OK。如果任一个服务器返回错误,Broadcast返回包含那些错误的错误。
func main() {
...
xclient := client.NewXClient("Arith", client.Failover, client.RoundRobin, d, client.DefaultOption)
defer xclient.Close()
args := &example.Args{
A: 10,
B: 20,
}
for {
reply := &example.Reply{}
err := xclient.Broadcast(context.Background(), "Mul", args, reply)
if err != nil {
log.Fatalf("failed to call: %v", err)
}
log.Printf("%d * %d = %d", args.A, args.B, reply.C)
time.Sleep(1e9)
}
}