Kratos 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Kratos 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Kratos 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发微服务框架
开源组织
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2019-04-24

软件简介

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

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

Goals

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

Features

  • APIs:协议通信以 HTTP/gRPC 为基础,通过 Protobuf 进行定义;
  • Errors:通过 Protobuf 的 Enum 作为错误码定义,以及工具生成判定接口;
  • Metadata:在协议通信 HTTP/gRPC 中,通过 Middleware 规范化服务元信息传递;
  • Config:支持多数据源方式,进行配置合并铺平,通过 Atomic 方式支持动态配置;
  • Logger:标准日志接口,可方便集成三方 log 库,并可通过 fluentd 收集日志;
  • Metrics:统一指标接口,可以实现各种指标系统,默认集成 Prometheus;
  • Tracing:遵循 OpenTelemetry 规范定义,以实现微服务链路追踪;
  • Encoding:支持 Accept 和 Content-Type 进行自动选择内容编码;
  • Transport:通用的 HTTP/gRPC 传输层,实现统一的 Middleware 插件支持;
  • Registry:实现统一注册中心接口,可插件化对接各种注册中心;

Architecture

Quick start

Requirments

Go version>=1.12 and GO111MODULE=on

Installation

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

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

Build & Run

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

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

快速开始 kratos工具

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(19)
发表了资讯
05/08 07:02

Kratos v2.2.2 发布,bilibili 开源的 Go 微服务框架

Kratos 是哔哩哔哩开源的轻量级 Go 微服务框架,包含大量微服务相关框架及工具。目前 Kratos v2..2.2 已发布,带来如下改动: feat: 支持 consul 注册表中的非 kratos 实例 #1892 fix: starter parent ctx #1895 feat(contrib): 添加 eureka 注册表 (#1792) #1793 feat(log): 仅在 Debug 级别时记录加载配置 #1899 fix(log): FilterFunc keyvals 丢失记录器前缀 #1901 fix(log): GoGo Protobuf 中的输入验证不正确 CVE-2021-312...

0
12
发表了资讯
2021/08/03 07:37

Kratos v2.0.3 发布,bilibili 开源的 Go 微服务框架

Kratos v2.0.3 已发布。Kratos 是哔哩哔哩开源的轻量级 Go 微服务框架,包含大量微服务相关框架及工具。 主要特性 APIs:协议通信以 HTTP/gRPC 为基础,通过 Protobuf 进行定义; Errors:通过 Protobuf 的 Enum 作为错误码定义,以及工具生成判定接口; Metadata:在协议通信 HTTP/gRPC 中,通过 Middleware 规范化服务元信息传递; Config:支持多数据源方式,进行配置合并铺平,通过 Atomic 方式支持动态配置; Logger:标准...

2
11
发表于服务端专区
2019/06/12 08:21

Kratos v0.1.0 发布,B 站之 Go 微服务框架

经过两个月的更新迭代,Kratos v0.1.0 已经正式发布了。 Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。 名字来源于:《战神》游戏以希腊神话为背景,讲述由凡人成为战神的奎托斯(Kratos)成为战神并展开弑神屠杀的冒险历程。 Goals 我们致力于提供完整的微服务研发体验,整合相关框架及工具后,微服务治理相关部分可对整体业务开发周期无感,从而更加聚焦于业务交付。对每位开发者而言,整套Kratos框...

10
29
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
19 评论
193 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部