今天因为配置go-micro中使用consul作为服务发现踩了一天的坑,最后终于成功解决
1.安装go-micro(windows)
# 安装go-microgo get -u -v github.com/micro/go-micro# 安装工具集go get -u -v github.com/micro/micro# 安装protobuf插件go get -u -v github.com/golang/protobuf/{proto,protoc-gen-go}go get -u -v github.com/micro/protoc-gen-micro
2.创建micro服务因为最新版本的go-micro已经弃用了consul,默认使用etcd做服务注册,所以我们需要额外引入consul
micro new --type srv mserver -- 创建一个微服务项目protoc --proto_path=. --go_out=. --micro_out=. proto/mserver/mserver.proto -- 编译proto文件## ps如果找不到consul的话就用以下路径 github.com/micro/go-plugins/registry/consul
3.搭建好的go-micro服务的main.go文件package mainimport ( "github.com/micro/go-micro/util/log" "github.com/micro/go-micro" "mserver/handler" "mserver/subscriber" "github.com/micro/go-plugins/registry/consul" mserver "mserver/proto/mserver")func main() { // 初始化服务发现 consulReg := consul.NewRegistry() // New Service service := micro.NewService( micro.name("go.micro.srv.mserver"), micro.Registry(consulReg), micro.Version("latest"), ) // Initialise service service.Init() // Register Handler mserver.RegisterMserverHandler(service.Server(), new(handler.Mserver)) // Register Struct as Subscriber micro.RegisterSubscriber("go.micro.srv.mserver", service.Server(), new(subscriber.Mserver)) // Register Function as Subscriber micro.RegisterSubscriber("go.micro.srv.mserver", service.Server(), subscriber.Handler) // Run service if err := service.Run(); err != nil { log.Fatal(err) }}
总结 以上是内存溢出为你收集整理的关于go-micro中使用consul的一些注意细节全部内容,希望文章能够帮你解决关于go-micro中使用consul的一些注意细节所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)