Kratos v0.1.0 發布,B 站之 Go 微服務框架

←手機掃碼閱讀     admin @ 2019-06-12 , reply:0

經過兩個月的更新迭代,Kratos v0.1.0 已經正式發布了。

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

打開瀏覽器訪問:http://localhost:8000/kratos-demo/start,你會看到輸出了Golang 大法好 !!!





[admin ]

來源:OsChina
連結:https://www.oschina.net/news/107383/kratos-0-1-0-released
Kratos v0.1.0 發布,B 站之 Go 微服務框架已經有24次圍觀

http://coctec.com/news/soft/show-post-206984.html