Kratos Go 微服务框架

开源网站开源项目 24-06-23 11:57:49

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 startRequirments

Go version>=1.12 and GO111MODULE=on

Installation

go get -u github.com/bilibili/kratos/tool/kratoscd $GOPATH/srckratos new kratos-demo

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

Build & Run

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

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

快速开始kratos工具

[Kratos Go 微服务框架]相关推荐
Typecho 博客程序

Typecho 博客程序

Typecho是一个由中国团队开发的开源跨平台博客程序。它基于PHP5构建,并支持多种操作系统(Linux,Unix,BSD……...

HTTrack 网站离线下载工具

HTTrack 网站离线下载工具

HTTrack 是一个免费开源的网站离线浏览器。通过它可以将整个网站下载到本地的某个目录,包括html、图片和……...

Picard 音乐整理软件

Picard 音乐整理软件

Picard 是一个用 Python 编写的跨平台音乐标签管理工具,支持 Windows 、 Mac OS X 和 Linux 。Picard 支……...

jQuery 轻量级 JavaScript 框架

jQuery是一个快速,小型且功能丰富的JavaScript库。借助易于使用的API(可在多种浏览器中使用),它使HTM……...

今日开源
  1. ZYS 高性能服务框架

    ZYS 高性能服务框架

    核心特性 1.基于swoole提供分布式服务器通讯服务2.基于thrift提供rpc远程调用服务3.基于HTML5提供在线网络直播平台服务4.基于swoole提供同步异步数据库连接池服务5.基于swoole提供异步任务服务器6.基于vmstat提供……

    开源软件 2024-06-30

  2. Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative(发音为 kay-nay-tiv)是谷歌开源的一套 Serverless 架构方案,它扩展了 Kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力。……

    开源软件 2024-06-30

  3. Untangle Linux安全网关模块

    Untangle Linux安全网关模块

    Untangle Gateway 是一个Linux下开源的的网关模块,支持垃圾过滤、URL阻截、反病毒蠕虫等多种功能,详细的屏幕截图请看下面链接: http://untangle.com/index.php?option=com_content&task=view&id=242&am……

    开源软件 2024-06-30

返回顶部小火箭