关于go:go微服务框架Kratos连载一入门教程安装以及第一个接口

一、介绍

Kratos 一套轻量级 Go 微服务框架,蕴含大量微服务相干框架及工具。
由bilibili开源进去,在b站大量应用。
官网网址:https://go-kratos.dev/docs/

本入门教程,将会教大家装置以及入门应用。

二、装置

1、装置go

能够到官网 https://go.dev/dl/
下载对应的包,而后装置。

2、装置protobuf

咱们应用brew装置

brew install protobuf

装置好了后,咱们能够应用 执行一下 protoc –version

➜ protoc --version
libprotoc 3.21.7

3、装置protobuf的go扩大工具 protoc-gen-go

go install google.golang.org/protobuf/cmd/protoc-gen-go

4、装置kratos

go install github.com/go-kratos/kratos/cmd/kratos/[email protected]

三、创立我的项目

通过 kratos 命令创立我的项目模板:

kratos new helloworld

咱们进入helloworld查看一下文件构造

➜ cd helloworld
➜ tree

构造如下:

├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── api
│   └── helloworld
│       └── v1
│           ├── error_reason.pb.go
│           ├── error_reason.proto
│           ├── greeter.pb.go
│           ├── greeter.proto
│           ├── greeter_grpc.pb.go
│           └── greeter_http.pb.go
├── cmd
│   └── helloworld
│       ├── main.go
│       ├── wire.go
│       └── wire_gen.go
├── configs
│   └── config.yaml
├── go.mod
├── go.sum
├── internal
│   ├── biz
│   │   ├── README.md
│   │   ├── biz.go
│   │   └── greeter.go
│   ├── conf
│   │   ├── conf.pb.go
│   │   └── conf.proto
│   ├── data
│   │   ├── README.md
│   │   ├── data.go
│   │   └── greeter.go
│   ├── server
│   │   ├── grpc.go
│   │   ├── http.go
│   │   └── server.go
│   └── service
│       ├── README.md
│       ├── greeter.go
│       └── service.go
├── openapi.yaml
└── third_party

四、Kratos我的项目构造介绍

4.1、Makefile 文件为make命令的一个文件,咱们关上有如下命令

4.1.1 make init

init:
    go install google.golang.org/protobuf/cmd/[email protected]
    go install google.golang.org/grpc/cmd/[email protected]
    go install github.com/go-kratos/kratos/cmd/kratos/[email protected]
    go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/[email protected]
    go install github.com/google/gnostic/cmd/[email protected]
    go install github.com/google/wire/cmd/[email protected]

会初始化装置这个框架的一个依赖。
如果之后本人还有一些工具之类的须要装置,能够放到这里。

4.1.2 make config

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理