Kratos

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

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

Goals

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

Features

HTTP Blademaster:核心基于gin进行模块化设计,简单易用、核心足够轻量;

GRPC Warden:基于官方gRPC开发,集成discovery服务发现,并融合P2C负载均衡;

Cache:优雅的接口化设计,非常方便的缓存序列化,推荐结合代理模式overlord;

Database:集成MySQL/HBase/TiDB,添加熔断保护和统计支持,可快速发现数据层压力;

Config:方便易用的paladin sdk,可配合远程配置中心,实现配置版本管理和更新;

Log:类似zap的field实现高性能日志库,并结合log-agent实现远程日志管理;

Trace:基于opentracing,集成了全链路trace支持(gRPC/HTTP/MySQL/Redis/Memcached);

Kratos Tool:工具链,可快速生成标准项目,或者通过Protobuf生成代码,非常便捷使用gRPC、HTTP、swagger文档;

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

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.

kratos mysql_Kratos相关推荐

  1. kratos mysql_kratos微服务框架学习笔记一(kratos-demo)

    本文将为您描述kratos微服务框架学习笔记一(kratos-demo),教程操作步骤: 目录 kratos微服务框架学习笔记一(kratos-demo) kratos本体 demo kratos微服 ...

  2. http get请求相同的key_B站微服务框架Kratos详细教程(2)HTTP服务

    背景 在像微服务这样的分布式架构中,经常会有一些需求需要你调用多个服务,但是还需要确保服务的安全性.统一化每次的 请求日志或者追踪用户完整的行为等等. 你可能需要一个框架来帮助你实现这些功能.比如说帮 ...

  3. Kratos技术系列|从Kratos设计看Go微服务工程实践

    导读 github.com/go-kratos/kratos(以下简称Kratos)是一套轻量级 Go 微服务框架,致力于提供完整的微服务研发体验,整合相关框架及周边工具后,微服务治理相关部分可对整体 ...

  4. WordPress博客主题KRATOS双栏响应式博客主题

    简介: 本次介绍的是一款开源的博客主题,很适合个人博客使用. 首页上方导航栏,带有banner图,布局为双栏布局,多端自适应,无需为手机平板设备单独适配. 安装: 首先下载主题的zip文件,然后上传到 ...

  5. kratos的返回值问题与错误返回问题

    习惯了这种格式的返回值: {"code":"0","message":"成功""captchaId" ...

  6. 技术研究院006---B站自用的微服务框架——Kratos

    大家都知道微服务有两个痛点,一个是如何拆分微服务,微服务的边界怎么划分制定:二是微服务上了规模之后如何管理,因为只要上了规模,任何小小的问题都可能会被放大,最后导致雪崩效应. Bilibili作为一个 ...

  7. golang:kratos生成proto以及API编写

    API 是什么? API 全称是 Application Programming Interface,应用程序接口. 在 kratos 中,API 指的是 REST API 和 RPC API : R ...

  8. kratos 配置文件热更新

    一.配置文件的说明 1. 官方有关配置的文档:配置 | Kratos 2. 配置的相关文件(以框架示例的配置文件为例) 1)configs/config.yaml 为项目的配置文件,可进行配置内容的修 ...

  9. 依赖注入的正确打开方式 bilibili/kratos × google/wire

    一.前言 依赖注入相信大家都不陌生也不是什么新鲜的概念了,笔者初次深切体会依赖注入这种设计模式是在16年笔者在学习phalapi框架时使用的DI()函数,简单来说就是将所有的资源初始化集中在一起,通过 ...

最新文章

  1. 在XMPP的JAVA开源实现Openfire中,增加LBS 附近的人功能
  2. CSS里常见的块级元素和行内元素
  3. 流程 - 什么是真正的Scrum?
  4. linux arp 老化时间,Linux实现的ARP缓存老化时间原理解析
  5. IOS数据存储 —— 1 沙盒(数据存储目录)
  6. 防火墙是linux配置,linux配置iptables防火墙
  7. 【C】C语言判断是否质数
  8. 基于FL2440 的V4L2采集 + H264编码 + LIVE555发布的实时视频监控系统
  9. python对京东评论的爬取_python爬取京东评论(三)
  10. 2022年PC推荐-组装机及品牌机 2022年8月16日(持续更新)
  11. 洛谷3373 线段树模板
  12. Elasticsearch高级(Shards、高可用集群搭建)
  13. 成都最有特色的9大茶馆
  14. 2021-2022学年广州市番禺华附九年级第一学期期中考试英语试题
  15. java 生成 checksum
  16. 整数n分解成素数乘积c语言,关于几种求素数的方法(C语言描述)
  17. 计算机意外重启或错误,Win7系统安装提示计算机意外重启或遇到错误解决方案...
  18. bootstrap 实现商城布局
  19. [好文收藏]弗洛伊德的冰山理论
  20. php新手学习php的好网站(推荐!!)

热门文章

  1. 雪车雪球雪糕筒,亚马逊边缘野心推进中(上)
  2. .net排队叫号设计实现方案与学习笔记
  3. Windows:16bit Windows Subsystem:config.nt.The system file is not suitable for running MS-DOS...究极解法
  4. MySQL长途售票系统_客车网上售票系统(Java源码+sql脚本)
  5. CCleaner软件免费试用版与付费专业版区别
  6. Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Track笔记
  7. Python实现自动翻译功能 - 附完整代码
  8. 一文搞懂tiktok运营视频策划,从数据分析到运营策略
  9. 虚拟人“搬砖“在冬奥
  10. 塔式和机架式服务器有什么区别