Giter Club home page Giter Club logo

kratos's Introduction

Kratos

Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。主要包括以下组件:

  • http框架blademaster(bm):基于gin二次开发,具有快速、灵活的特点,可以方便的开发中间件处理通用或特殊逻辑,基础库默认实现了log&trace等。
  • gRPC框架warden:基于官方gRPC封装,默认使用discovery进行服务注册发现,及wrr和p2c(默认)负载均衡。
  • dapper trace:基于opentracing,全链路集成了trace,我们还提供dapper实现,请参看:dapper敬请期待
  • log:基于zap的field方式实现的高性能log库,集成了我们提供的log-agent敬请期待日志收集方案。
  • database:集成MySQL&HBase&TiDB的SDK,其中TiDB使用服务发现方案。
  • cache:集成memcache&redis的SDK,注意无redis-cluster实现,推荐使用代理模式overlord
  • kratos tool:kratos相关工具量,包括项目快速生成、pb文件代码生成、swagger文档生成等。

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

快速开始

go get -u github.com/bilibili/kratos/tool/kratos
kratos init

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

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

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

快速开始

Document

简体中文


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

kratos's People

Contributors

felixhao avatar lintanghui avatar xyuwang avatar langxuan avatar longxboy avatar realityone avatar

Stargazers

BennyJane avatar greyireland avatar

Watchers

James Cloos avatar greyireland avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.