go-zero安装

dandan3年前程序开发2560

go版本1.20.2


go环境变量

export GOROOT=/Users/yelin/go_dev/go
export GOPATH=/Users/yelin/go_dev/project
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

下载goctl

GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/go-zero/tools/goctl@latest


安装protoc & protoc-gen-go

goctl env check -i -f --verbose


创建测试项目hellow,进入执行

go mod init hellow


创建内容

goctl api new hellow1


下载依赖

go mod tidy


在hellow1/logic/hellow1logic.go中写逻辑

func (l *Hellow1Logic) Hellow1(req *types.Request) (resp *types.Response, err error) {
// todo: add your logic here and delete this line
resp = &types.Response{
Message: "hello go",
}
return
}


运行

go run hellow1/hellow1.go -f hellow1/etc/hellow1-api.yaml



微服务版本

建立目录,如hellow_rpc,进入后

创建order服务

goctl api new order

创建user服务

goctl api new user

建立工作区

go work init
go work use order
go work use user
//难道实际测试好像没有自动生成,手动改写go.work
go 1.20
use (
./order
./user
)


创建user的rpc文件,/user/rpc/user.proto

syntax = "proto3";
package user;
  
// protoc-gen-go 版本大于1.4.0, proto文件需要加上go_package,否则无法生成
option go_package = "./user";
message IdRequest {
    string id = 1;
}
  
message UserResponse {
    // 用户id
    string id = 1;
    // 用户名称
    string name = 2;
    // 用户性别
    string gender = 3;
}
  
service User {
    rpc getUser(IdRequest) returns(UserResponse);
}

执行创建

goctl rpc protoc user.proto --go_out=./types --go-grpc_out=./types --zrpc_out=.


跑完后,可以把里面除了user.protoc外的内容都放到上一层,然后上一层的user.api可以删除



相关文章

wsl2安装docker+dify+xinference

1、wsl2安装ubuntu,这里指定版本安装一个新环境 wsl --install -d Ubuntu-22.042、安装完的ubuntu是在c盘的,放到其他...

k8s学习

k3s学习环境安装,准备3台虚拟机,centos7.6以上操作每台机子都要执行,操作完成后,修改主机名hostnamectl set-hostname k8s-master...

MQTT协议使用

服务端因为使用的发布/订阅模式,似乎不需要自己写服务端,只要安装现成开源服务器即可,这里选了EMQX#到官网,选择服务器版本,下载安装,已centos7为例: #下载源码包 wget h...

go-zero中使用jaeger链路追踪

go-zero中使用jaeger链路追踪

链路追踪分两块:(1)框架内置的,通过配置实现,一般都在api、rpc等中间件中,粗浅理解是请求级;(2)自定义的,可以定义到函数里,粗浅理解可以自己写代码级的,也就是可以跟踪每个函数方法的执行时间;...

mac m1 docker找不到加载卷的问题

#需求是filebeat采集其他docker容器的日志,执行下面这个后,把路径/var/lib/docker/containers 给映射上,似乎就能访问到了 docker ru...

mac m1 pro 解决微信公众号本地调试问题(未成功)

最终未成功,买natapp先凑合用了,临时记录下nginx安装1、微信公众号后台,公众号设置,功能设置,网页授权域名,添加好该域名。(需要上传文件到根目录)2、natapp上购买vip隧道,9元/月;...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。