code: func NewRemoteService(
  	rpcClient cluster.RPCClient,
  	rpcServer cluster.RPCServer,
  	sd cluster.ServiceDiscovery,
  	encoder codec.PacketEncoder,
  	serializer serialize.Serializer,
  	router *router.Router,
  	messageEncoder message.Encoder,
  	server *cluster.Server,
  ) *RemoteService {
  	return &RemoteService{
  		services:               make(map[string]*component.Service),
  		rpcClient:              rpcClient,
  		rpcServer:              rpcServer,
  		encoder:                encoder,
  		serviceDiscovery:       sd,
  		serializer:             serializer,
  		router:                 router,
  		messageEncoder:         messageEncoder,
  		server:                 server,
  		remoteBindingListeners: make([]cluster.RemoteBindingListener, 0),
  	}
  }
docs: // NewRemoteService creates and return a new RemoteService