前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go-micro 本地搭建及使用consul

go-micro 本地搭建及使用consul

作者头像
码缘
发布2021-05-07 16:07:45
1.3K0
发布2021-05-07 16:07:45
举报
文章被收录于专栏:PHP修行之路

安装(前提是本地已安装protobuf和protof的go扩展)

go get github.com/micro/micro go get github.com/micro/go-micro go get github.com/micro/protoc-gen-micro go get github.com/micro/go-plugins/registry/consul

支持consul需要单独安装这个包

go get github.com/micro/go-plugins/registry/consul

micro生成新项目

micro new --gopath=false --type=srv micpro

进入到 proto文件的同级目录,然后执行以下命令生成go文件

protoc --micro_out=. --go_out=. *.proto

代码语言:javascript
复制
package main

import (
	"github.com/micro/go-micro"
	"github.com/micro/go-micro/registry"
	"github.com/micro/go-micro/util/log"
	"github.com/micro/go-plugins/registry/consul"
	"micpro/handler"
	micpro "micpro/proto/micpro"
	"micpro/subscriber"
)

func main() {

	consulRegis := consul.NewRegistry(func(options *registry.Options) {
		options.Addrs = []string{
			"127.0.0.1:8500",
		}
	})

	// New Service
	service := micro.NewService(
		micro.Name("go.micro.srv.micpro"),
		micro.Registry(consulRegis),
		micro.Version("latest"),
	)

	// Initialise service
	service.Init()

	// Register Handler
	micpro.RegisterMicproHandler(service.Server(), new(handler.Micpro))

	// Register Struct as Subscriber
	micro.RegisterSubscriber("go.micro.srv.micpro", service.Server(), new(subscriber.Micpro))

	// Register Function as Subscriber
	micro.RegisterSubscriber("go.micro.srv.micpro", service.Server(), subscriber.Handler)

	// Run service
	if err := service.Run(); err != nil {
		log.Fatal(err)
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档