mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-19 16:29:01 +08:00
test conn
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
package discoveryregistry
|
||||
|
||||
// type DnsDiscoveryRegistry struct {
|
||||
// opts []grpc.DialOption
|
||||
// namespace string
|
||||
// clientset *kubernetes.Clientset
|
||||
// }
|
||||
|
||||
// func NewDnsDiscoveryRegistry(namespace string, opts []grpc.DialOption) (*DnsDiscoveryRegistry, error) {
|
||||
// config, err := rest.InClusterConfig()
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// clientset, err := kubernetes.NewForConfig(config)
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// return &DnsDiscoveryRegistry{
|
||||
// clientset: clientset,
|
||||
// namespace: namespace,
|
||||
// opts: opts,
|
||||
// }, nil
|
||||
// }
|
||||
|
||||
// func (d DnsDiscoveryRegistry) GetConns(ctx context.Context, serviceName string, opts ...grpc.DialOption) ([]*grpc.ClientConn, error) {
|
||||
// endpoints, err := d.clientset.CoreV1().Endpoints(d.namespace).Get(context.TODO(), serviceName, metav1.GetOptions{})
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// var conns []*grpc.ClientConn
|
||||
// for _, subset := range endpoints.Subsets {
|
||||
// for _, address := range subset.Addresses {
|
||||
// for _, port := range subset.Ports {
|
||||
// conn, err := grpc.DialContext(ctx, net.JoinHostPort(address.IP, string(port.Port)), append(d.opts, opts...)...)
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// conns = append(conns, conn)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return conns, nil
|
||||
// }
|
||||
|
||||
// func (d DnsDiscoveryRegistry) GetConn(ctx context.Context, serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error) {
|
||||
// return grpc.DialContext(ctx, fmt.Sprintf("%s.%s.svc.cluster.local", serviceName, d.namespace), append(d.opts, opts...)...)
|
||||
// }
|
||||
|
||||
// func (d *DnsDiscoveryRegistry) AddOption(opts ...grpc.DialOption) {
|
||||
// d.opts = append(d.opts, opts...)
|
||||
// }
|
||||
@@ -22,7 +22,6 @@ func (s *ZkClient) watch(wg *sync.WaitGroup) {
|
||||
switch event.Type {
|
||||
case zk.EventSession:
|
||||
s.logger.Printf("zk session event: %+v", event)
|
||||
case zk.EventNodeCreated:
|
||||
case zk.EventNodeChildrenChanged:
|
||||
s.logger.Printf("zk event: %s", event.Path)
|
||||
l := strings.Split(event.Path, "/")
|
||||
@@ -37,6 +36,7 @@ func (s *ZkClient) watch(wg *sync.WaitGroup) {
|
||||
}
|
||||
s.logger.Printf("zk event handle success: %s", event.Path)
|
||||
case zk.EventNodeDataChanged:
|
||||
case zk.EventNodeCreated:
|
||||
case zk.EventNodeDeleted:
|
||||
case zk.EventNotWatching:
|
||||
}
|
||||
@@ -101,24 +101,6 @@ func (s *ZkClient) GetConns(ctx context.Context, serviceName string, opts ...grp
|
||||
}
|
||||
|
||||
func (s *ZkClient) GetConn(ctx context.Context, serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error) {
|
||||
conns, err := s.GetConns(ctx, serviceName, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(conns) == 0 {
|
||||
return nil, ErrConnIsNil
|
||||
}
|
||||
s.logger.Printf("get conn from conns, serviceName: %s", serviceName)
|
||||
return s.getConnBalance(conns)
|
||||
}
|
||||
|
||||
func (s *ZkClient) GetFirstConn(ctx context.Context, serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error) {
|
||||
conns, err := s.GetConns(ctx, serviceName, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(conns) == 0 {
|
||||
return nil, ErrConnIsNil
|
||||
}
|
||||
return conns[0], nil
|
||||
newOpts := append(s.options, grpc.WithDefaultServiceConfig(fmt.Sprintf(`{"LoadBalancingPolicy": "%s"}`, s.balancerName)))
|
||||
return grpc.DialContext(ctx, fmt.Sprintf("%s:///%s", s.scheme, serviceName), append(newOpts, opts...)...)
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ func NewClient(zkServers []string, zkRoot string, options ...ZkOption) (*ZkClien
|
||||
client.CloseZK()
|
||||
return nil, err
|
||||
}
|
||||
// resolver.Register(client)
|
||||
resolver.Register(client)
|
||||
var wg sync.WaitGroup
|
||||
go client.refresh(&wg)
|
||||
go client.watch(&wg)
|
||||
|
||||
Reference in New Issue
Block a user