README_zh.md
Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关功能及工具。
名字来源于:《战神》游戏以希腊神话为背景,讲述奎托斯(Kratos)由凡人成为战神并展开弑神屠杀的冒险经历。
我们致力于提供完整、全面的微服务研发体验,通过整合相关框架和工具,微服务治理部分能够无缝融入整个业务开发周期,使开发者更加专注于业务交付。 对每位开发者而言,Kratos 是非常不错的学习仓库,可以了解和参考微服务领域的技术积累和经验。
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
kratos upgrade
git clone https://github.com/go-kratos/kratos
cd kratos
make install
# 创建项目模板
kratos new helloworld
cd helloworld
# 拉取项目依赖
go mod download
# 生成 proto 模板
kratos proto add api/helloworld/helloworld.proto
# 生成 proto 源码
kratos proto client api/helloworld/helloworld.proto
# 生成 server 模板
kratos proto server api/helloworld/helloworld.proto -t internal/service
# 生成所有 proto 源码、wire 等等
go generate ./...
# 运行程序
kratos run
import "github.com/go-kratos/kratos/v2"
import "github.com/go-kratos/kratos/v2/transport/grpc"
import "github.com/go-kratos/kratos/v2/transport/http"
httpSrv := http.NewServer(http.Address(":8000"))
grpcSrv := grpc.NewServer(grpc.Address(":9000"))
app := kratos.New(
kratos.Name("kratos"),
kratos.Version("latest"),
kratos.Server(httpSrv, grpcSrv),
)
app.Run()
提交信息的结构应该如下所示:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
提交信息应按照下面的格式:
Kratos is MIT licensed. See the LICENSE file for details.