micro.newService()中newOptions

func newOptions(opts ...Option) Options {    opt := Options{        Auth:      auth.DefaultAuth,        Broker:    broker.DefaultBroker,        Cmd:       cmd.DefaultCmd,        Config:    config.DefaultConfig,        Client:    client.DefaultClient,        Server:    server.DefaultServer,        Store:     store.DefaultStore,        Registry:  registry.DefaultRegistry,        Router:    router.DefaultRouter,        Runtime:   runtime.DefaultRuntime,        Transport: transport.DefaultTransport,        Context:   context.Background(),        Signal:    true,    }        for _, o := range opts {        o(&opt)    }        return opt}

初始化了一堆根底设置,来看看Transport
transport.DefaultTransport,
在transport/transport.go中的
DefaultTransport Transport = newHTTPTransport()

func NewTransport(opts ...Option) Transport {    return newHTTPTransport(opts...)}func newHTTPTransport(opts ...Option) *httpTransport {    var options Options    for _, o := range opts {        o(&options)    }    return &httpTransport{opts: options}}

这里就初始化并设置options,返回了一个httpTransport{}

手动指定其余的Transport,两种形式

  1. micro.NewService()中传入micro.Transport(grpc.NewTransport()),, 即可应用grpc Transport
  2. plugins.go中import退出"github.com/micro/go-plugins/transport/grpc/v2"