bilibili-backup/app/service/openplatform/ticket-item/api/grpc/v1/client.go

45 lines
954 B
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
package v1
import (
"context"
"go-common/library/log"
"go-common/library/net/rpc/warden"
"go-common/library/net/rpc/warden/balancer/wrr"
"google.golang.org/grpc"
)
// AppID unique app id for service diSCovery
const AppID = "ticket.service.item"
//Client 客户端枚举
type Client struct {
IC ItemClient
GC GuestClient
BC BulletinClient
VC VenueClient
PC PlaceClient
AC AreaClient
SC SeatClient
}
// New 新建客户端实例
func New(c *warden.ClientConfig) (*Client, error) {
client := warden.NewClient(c, grpc.WithBalancerName(wrr.Name))
conn, err := client.Dial(context.Background(), "discovery://default/"+AppID)
if err != nil {
log.Error("client can not connect server: %v", err)
return nil, err
}
return &Client{
IC: NewItemClient(conn),
GC: NewGuestClient(conn),
BC: NewBulletinClient(conn),
VC: NewVenueClient(conn),
PC: NewPlaceClient(conn),
AC: NewAreaClient(conn),
SC: NewSeatClient(conn),
}, nil
}