Skip to content
Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。
Branch: master
Clone or download
Latest commit 50b05a7 May 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc add doc of the rate limiter middleware May 20, 2019
pkg fix example May 21, 2019
tool reindent May 20, 2019
.gitignore git ignore May 20, 2019
.travis.yml fix unit test (#76) May 6, 2019
LICENSE License (#35) Apr 24, 2019
README.md Kratos protobuf protoc (#71) May 5, 2019
go.mod fix unit test (#76) May 6, 2019
go.sum git ignore May 20, 2019

README.md

kratos

Language Build Status GoDoc Go Report Card

Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具:

  • HTTP框架: Blademaster(bm)

    基于gin二次开发,具有快速、灵活的特点,可以方便的开发中间件处理通用或特殊逻辑,基础库默认实现了log&trace等。

  • gRPC框架: Warden(wd)

    基于官方gRPC封装,默认使用discovery进行服务注册发现,及wrr和p2c(默认)负载均衡。

  • 基础组件库

    • dapper trace:基于opentracing,全链路集成了trace,我们还提供dapper实现,请参看:dapper敬请期待

    • log:基于zap的field方式实现的高性能log库,集成了我们提供的log-agent敬请期待日志收集方案。

    • cache:集成memcache&redis的SDK,注意无redis-cluster实现,推荐使用代理模式overlord

    • database:集成MySQL&HBase&TiDB的SDK,其中TiDB使用服务发现方案。

  • 框架工具链

    • kratos tool:kratos相关工具量,包括项目快速生成、pb文件代码生成、swagger文档生成等。

我们致力于提供完整的微服务研发体验,整合相关框架及工具后,微服务治理相关部分可对整体业务开发周期无感,从而更加聚焦于业务交付。对每位开发者而言,整套Kratos框架也是不错的学习仓库,可以了解和参考到bilibili在微服务方面的技术积累和经验。

名字来源于:《战神》游戏以希腊神话为背景,讲述由凡人成为战神的奎托斯(Kratos)成为战神并展开弑神屠杀的冒险历程。

Requirments

Go version>=1.12 and GO111MODULE=on

Quick start

go get -u github.com/bilibili/kratos/tool/kratos
cd $GOPATH/src
kratos new kratos-demo

kratos new会快速生成基于kratos库的脚手架代码,如生成kratos-demo

cd kratos-demo/cmd
go build
./cmd -conf ../configs

打开浏览器访问:http://localhost:8000/kratos-demo/start,你会看到输出了Golang 大法好 !!!

快速开始 kratos工具

Documentation

简体中文

License

Kratos is under the MIT license. See the LICENSE file for details.


Please report bugs, concerns, suggestions by issues, or join QQ-group 716486124 to discuss problems around source code.

You can’t perform that action at this time.