go-micro v2运开实践-框架篇(1)初始化项目安装micro

初始化git项目

进入工作目录,按照go规范,我们定义一个工作目录应,这是我在windows环境中的定义的路径D:\go\src\github.com\869413421,在工作磁盘下的go/src中创建,后续加上仓库类型如github.com,gitee等,最后加上该站点账号。

创建项目文件夹

mkdir micro-service

关联github仓库

cd micro-service
git init
git remote add origin https://github.com/869413421/micro-service.git
git pull origin main

安装micro

在安装前,我们首先明确了解go-micro和micro具体是什么东西。避免后续因为这两项有关联的技术产生一些混淆。

  • go-micro:一款微服务开发框架,它是所有开发的核心,开发者可以利用它编码快速开发出服务。
  • micro:一个基于go-micro实现的微服务命令行工具包,它对于微服务开发是非必要的。但是能给开发提供很多便利,例如生成模板项目,提供web仪表盘,提供API网关,查看服务状态,调用服务等等。

拉取micro镜像

docker pull micro/micro:v2.9.3

生成micro生成项目模板

windows

在windows下执行命令要使用CMD执行

docker run --rm -v D:\go\src\github.com\869413421\micro-service:/www -w /www micro/micro:v2.9.3 new --namespace=micro --type=service user

linux

docker run --rm -v $(pwd):/www -w /www micro/micro:v2.9.3 new --namespace=micro --type=service user

安装protobuf

在执行生成模板命令后,我们可以等如下提示

Creating service micro.service.user in user

.
├── main.go
├── generate.go
├── plugin.go
├── handler
│   └── user.go
├── subscriber
│   └── user.go
├── proto
│   └── user
│       └── user.proto
├── Dockerfile
├── Makefile
├── README.md
├── .gitignore
└── go.mod

download protoc zip packages (protoc-$VERSION-$PLATFORM.zip) and install:

visit https://github.com/protocolbuffers/protobuf/releases

download protobuf for micro:

go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v2/cmd/protoc-gen-micro

compile the proto file user.proto:

cd user
make proto

上图中我们可以得知,我们首先需要安装protoc提示中已经有链接,下载好后设置好环境变量,执行命令protoc --version,如果不知道如何安装,可以去网上搜索相关文章,这里不多赘述了。

安装项目依赖相关包

go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v2/cmd/protoc-gen-micro

调整项目结构,生成protobuf代码

Windows中没有make,但是可以通过安装MinGW或者MinGW-w64,得到make。

Windows安装make

cd user

修改proto/user/user.proto文件

加上option go_package = "proto/user";指定编译的包路径

执行make proto,执行成功后可以看到protoc为我们生成的代码

修改go.mod文件

module github.com/{your_name}/micro-service/user

将账户替换你的github账号,方便后续管理

执行go mod tidy下载生成生成代码依赖的包

看到相关包不再飘红,至此编写代码的初始化工作已经完成,后续中我们需要通过docker-compose安装微服务所需要的基础设施。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!