Golang 微服务 - 04 编写服务 & 上传Github

创建Github Repository

登录Github,创建一个Repository,取名go-micro-demo

首次提交,参照如下命令(使用 Git Bash Here)

mkdir -p /c/gitrepo/go-micro-demo
cd /c/gitrepo/go-micro-demo
echo "# go-micro-demo" >> README.md

git init
git add README.md
git commit -m "create go-micro-demo"
git remote add origin https://github.com/nealguo/go-micro-demo.git
git push -u origin master

创建 C:\gitrepo\go-micro-demo

编写 README.md

提交到 https://github.com/nealguo/go-micro-demo.git

编写两个服务

分别编写 consignment-service 和 vessel-service,前者会通过服务名来发现后者

func main() {
	vessels := []*pb.Vessel{
		{Id: "vessel1001", Name: "Boaty McBoatface", MaxWeight: 20000, Capacity: 500},
	}
	repo := &VesselRepository{vessels}

	srv := micro.NewService(
		micro.Name("go.micro.srv.vessel"),
		micro.Version("latest"),
	)

	srv.Init()

	pb.RegisterVesselServiceHandler(srv.Server(), &service{repo})

	if err := srv.Run(); err != nil {
		fmt.Println(err)
	}
}

来自 go-micro-demo/vessel-service/main.go

vessel-service 以 go.micro.srv.vessel 为服务名启动

func main() {
	repo := &ConsignmentRepository{}

	// Create a new service. Optionally include some options here
	srv := micro.NewService(
		// This name must match the package name give in your protobuf definition
		micro.Name("go.micro.srv.consignment"),
		micro.Version("latest"),
	)

	client := vessel.NewVesselServiceClient("go.micro.srv.vessel", srv.Client())

	// Init will parse the command line flags
	srv.Init()

	// Register handler
	pb.RegisterShippingServiceHandler(srv.Server(), &service{repo, client})

	// Run the server
	if err := srv.Run(); err != nil {
		fmt.Println(err)
	}

}

来自 go-micro-demo/consignment-service/main.go

consignment-service 以 go.micro.srv.consignment 为服务名启动

consignment-service 通过 go.micro.srv.vessel 来发现 vessel-service

详细内容参见 https://github.com/nealguo/go-micro-demo

上传Github

git add consignment-service/
git add vessel-service/
git commit -m "add consignment-service and vessel-service"
git push -u origin master

添加 consignment-service 和 vessel-service

提交到 origin (https://github.com/nealguo/go-micro-demo)

参考

《git - 简易指南》http://www.bootcss.com/p/git-guide/
《Git远程操作详解》http://www.ruanyifeng.com/blog/2014/06/git_remote.html
《Docker and micro》https://dzone.com/articles/create-versatile-microservices-in-golang-part-2-do

 

转载于:https://my.oschina.net/deltatech/blog/2245490

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值