go-micro3.0教程(1)-Linux 下搭建环境

前言

 

  • Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构
  • 在架构之外,它默认实现了consul作为服务发现(2019年源码修改了默认使用mdns),通过http进行通信,通过protobuf和json进行编解码

安装

   

  • 本次采用micro3.0 +golang 1.14.1+protoc 3.7.1的配置
  • 首先安装micro
go get github.com/micro/micro/v3
  • 安装完后 按如下如图就可以执行成功,成功后需要进行登录 
  • micro login
    
    username:admin // 输入用户名密码
    pawword:micro 

    就可以登录成功

新建一个服务

在目录中执行 如下

[root@10-13-82-233 go]# micro new first
Creating service first

.
├── micro.mu
├── main.go
├── generate.go
├── handler
│   └── first.go
├── proto
│   └── first.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/v3/cmd/protoc-gen-micro

compile the proto file first.proto:

cd first
make proto

就创建了一个fisrt服务,此时还不能运行,需要执行上面的提示内容安装需要的包文件,然后使用protoc 生成对应的服务。

在first目录下执行 go run main.go会启动服务  ,或者在first目录上次执行 micro run first  就可以启动服务。

注意:

1、3.0的版本和2.0的版本差异还是挺大的,在2.0的版本中自带了web界面,感觉3.0简洁了不少功能 

2.使用micro3.0版本以上那么golang尽量使用高版本 1.14以上 ,protoc 尽量用3版本

3.如果使用micro2版本,建议使用golang1.14版本以下,protoc使用2版本

4.protoc资源路径:Releases · protocolbuffers/protobuf · GitHub

5.如果使用micro2在生成micro/v2时,protoc3生成micro.protoc文件导致的版本冲突。

 可将生成的*.pb.micro.go文件中的v3依赖改为v2依赖即可

修改前

// 修改前,报错
import ( 	
 	context "context" 
 	server "github.com/micro/micro/v3/service/server"
 	client "github.com/micro/micro/v3/service/client"
 	api "github.com/micro/micro/v3/service/api" 
 )

// 修改后

import (
	context "context"
	client "github.com/micro/go-micro/v2/client"
	server "github.com/micro/go-micro/v2/server" 
	api "github.com/micro/go-micro/v2/api"
	math "math"
    proto "github.com/golang/protobuf/proto"
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值