kratos - クラウドネイティブ時代のための究極のGoマイクロサービスフレームワーク。

(Your ultimate Go microservices framework for the cloud-native era.)

Created at: 2019-01-10 18:42:31
Language: Go
License: MIT

ビルドステータス ゴードック コードコブ Goレポートカード ライセンス 素晴らしい囲碁 不和

Go Kratos - マイクロサービスのための Go フレームワーク。|製品ハント

翻訳先: 简体中文

クラトスについて

この名前は、ギリシャ神話をベースにしたゲーム「ゴッド・オブ・ウォー」に触発されています。それは、クラトスが人間から戦争の神になり、神を殺す虐殺を開始する冒険を物語っています。

Kratosは、golangによって実装されたマイクロサービス指向のガバナンスフレームワークであり、次のような防弾アプリケーションを最初からすばやく構築するのに役立つ便利な機能を提供します。

Kratosはアクセス可能で強力であり、大規模で堅牢なアプリケーションに必要なツールを提供します。

クラトスの学習

Kratosには、すべての最新のWebアプリケーションフレームワークの中で最も広範で完全なドキュメントサンプルライブラリがあり、フレームワークを簡単に使い始めることができます。

また、最新のテンプレートも提供しています。このテンプレートは、最新のプロジェクトのセットアップに必要な作業を減らすのに役立ちます。

目標

クラトスは生産性を向上させます。優れたリソースとさらなるサポートの統合により、プログラマーは分散システムとソフトウェアエンジニアリングの分野で遭遇する可能性のあるほとんどの問題を取り除き、ビジネスのリリースのみに集中することができます。さらに、各プログラマーにとって、Kratosは理想的なものでもあります マイクロサービスの多くの側面の学習ウェアハウス 彼らの経験とスキルを豊かにします。

原則

  • シンプル:プレーンで簡単なコードで適切な設計。
  • 一般:事業開発のためのさまざまなユーティリティをカバーします。
  • 高効率:ビジネスのアップグレードの効率をスピードアップします。
  • 安定版: 実稼働環境で検証されたベースライブラリは、高いテスト容易性、高いカバレッジ、および高いセキュリティと信頼性という特徴を持っています。
  • 堅牢:高品質のベースライブラリにより誤用を排除します。
  • 高性能:安全でない場合のハッキングの最適化を除く最適なパフォーマンス。
  • 拡張性:ベースライブラリなどのユーティリティを拡張して、さらなる要件を満たすことができる適切に設計されたインターフェイス。
  • フォールトトレランス:障害に対して設計され、Kratos内のSREの理解と実行を強化して、より堅牢性を実現します。
  • ツールチェーン: キャッシュのコード生成、lint ツールなど、広範なツールチェーンが含まれています。

はじめ

ドッカーを介してクラトスの遊び場を作成します。

docker run -it --rm -p 8000:8000 --workdir /workspace golang
apt-get update && apt-get -y install protobuf-compiler
export GOPROXY=https://goproxy.io,direct
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest && kratos upgrade
kratos new helloworld
cd helloworld/ && go mod tidy
kratos run

ブラウザを使用して開いてアクセスします:、クラトスプログラムが実行されています!

http://localhost:8000/helloworld/kratos

さらに必要な場合は、kratosのドキュメントにアクセスしてください。

セキュリティの脆弱性

Kratos内にセキュリティの脆弱性を発見した場合は、go-kratos@googlegroups.com 経由でtonybaseに電子メールを送信してください。すべてのセキュリティの脆弱性は迅速に対処されます。

コミュニティ

貢献

Kratosフレームワークへの貢献を検討していただきありがとうございます!コントリビューションガイドは、Kratosのドキュメントにあります。

ライセンス

Kratosフレームワークは、MITライセンスの下でライセンスされたオープンソースソフトウェアです。

確認

次のプロジェクトは、クラトスのデザインに特に影響を与えました。

  • go-kit/kit は、Go でマイクロサービスを構築するためのプログラミングツールキットです。
  • ASIM/GO-Micro 分散システム開発フレームワーク。
  • Google/Go-CloudはGoクラウド開発キットです。
  • ゼロマイクロ/ゴーゼロは、多くのエンジニアリングプラクティスが組み込まれたWebおよびRPCフレームワークです。
  • beego/beego は、RESTful API、ウェブアプリ、バックエンドサービスを含むウェブフレームワークです。