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

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

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

ビルドステータス GoDoc codeCov 通知表に行く ライセンス 素晴らしい行く 不和

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

翻訳:简体中文

クラトスについて

この名前は、ギリシャ神話に基づいたゲーム「ゴッド・オブ・ウォー」にちなんで付けられたもので、死すべき者から戦争の神になり、神を殺す虐殺を開始したクラトスの冒険を物語っています。

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

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

クラトスを学ぶ

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

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

目標

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

原則

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

入門

Dockerを介してkratosプレイグラウンドを作成します。

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/[email protected] && kratos upgrade
kratos new helloworld
kratos run

ブラウザを使用して開いてアクセスします:

http://localhost:8000/helloworld/kratos
、kratosプログラムが実行されています!

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

セキュリティの脆弱性

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

コミュニティ

寄稿者

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

ライセンス

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

謝辞

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

  • go-kit / kitは、goでマイクロサービスを構築するためのプログラミングツールキットです。
  • asim/go-micro分散システム開発フレームワーク。
  • google/go-cloudはgocloud開発キットです。
  • tal-tech / go-zeroは、多くの組み込みエンジニアリングプラクティスを備えたWebおよびRPCフレームワークです。
  • beego / beegoは、RESTful API、Webアプリ、バックエンドサービスを含むWebフレームワークです。