ホームページ > バックエンド開発 > Golang > Go 言語にはマイクロサービス フレームワークがありますか?

Go 言語にはマイクロサービス フレームワークがありますか?

青灯夜游
リリース: 2022-11-30 19:29:26
オリジナル
8675 人が閲覧しました

Go 言語にはマイクロサービス フレームワークがあり、例: 1. Istio はオープン ソースのマイクロサービス管理、保護、監視フレームワークです。2. Go-kit はマイクロサービスを開発するための Go 言語の分散開発キットです。3. Go-zero、さまざまなエンジニアリング手法を統合する Web および RPC フレームワーク、4. Go-micro、分散システム開発の簡素化に焦点を当てたマイクロサービス エコシステム、5. Kratos、6、CloudWeGo-Kitex、7、Goa、8、Dubbo -行く、など

Go 言語にはマイクロサービス フレームワークがありますか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

マイクロサービス フレームワークは、アプリケーションの開発を多くの小規模サービスの独立したビジネス開発に分割します。これらのサービスは通常、ビジネス ルールに基づいて構築され、さまざまな言語で開発したり、さまざまなデータ ストアを使用したりできます。最終的には、それぞれがビジネス ルールに基づいて構築されます。サービスは独自のスケジュールで実行されます。また、軽量の通信メカニズムを使用して相互に通信します。

では、Go 言語に基づくマイクロサービス フレームワークはあるのでしょうか? 答えは「はい」です。 Go 言語で開発されたマイクロサービス フレームワークをいくつか共有しましょう。

1.Istio(31.7K)

プロジェクトの紹介: Istio は によって開発されています。 Google、IBM、Lyftオープンソースのマイクロサービス管理、保護、監視フレームワーク。 istioを利用すると、サービスコードを変更することなく、負荷分散、サービス間認証、監視などの機能を備えたサービスネットワークを簡単に構築できます。

ウェアハウスのアドレス: https://github.com/istio/istiohttps://github.com/istio/istio

#公式ドキュメントのアドレス:

https://istio.io/latest/docs/https://istio.io/最新/docs/

##2.Go-kit(24.1K)プロジェクトの紹介: Go-kit は、マイクロサービスの開発に使用される Go 言語の分散開発パッケージです。

ウェアハウスのアドレス:

https://github.com/go-kit/kit/https://github.com/go -kit/kit/ 公式ドキュメントのアドレス:

https://gokit.io/

3.Go-zero(24.1K)プロジェクトの紹介: go-zero は Web および RPC フレームワークです。

ウェアハウスのアドレス:

https://github.com/tal-tech/go-zerohttps://github.com/ tal-tech/go-zero公式ドキュメントのアドレス:

https://go-zero.dev/cn/docs/introduction

4.Go-micro(19.6K) プロジェクトの紹介: Micro は、分散システム システムの開発を簡素化することに重点を置いたマイクロサービス エコシステムです。 。プラグイン可能なプラグイン設計は、基本的なコンポーネントを柔軟に置き換えることができるように、強力なプラグイン可能な

アーキテクチャ

を提供します。

ウェアハウスのアドレス: https://github.com/asim/go-micro

公式ドキュメントアドレス: https://go-micro.dev/

中国語ドキュメント: はじめに · go-micro マイクロサービス開発中国語マニュアル · KanyunMicro はマイクロサービス エコシステムです。目標は、分散システム開発を簡素化することです。テクノロジーは急速に進化しています。現在、クラウド コンピューティングにより、ほぼ無制限のスケール機能が提供されますが、既存のツールを使用してスケール機能を使用することは依然として困難です。 Micro は、開発者が最初にこの問題に焦点を当てて、この問題を解決しようとしています。 Micro は本質的に使いやすく、誰でも簡単にマイクロサービスの作成を始めることができます。何百ものサービスに拡張する場合、Micro はマイクロサービス環境の管理に必要な必須ツールを提供しますhttps://www.kancloud.cn/linimbus/go-micro/529015

5.Kratos(19.2K)

プロジェクト紹介: Bilibili (Bilibili) は、多数のマイクロサービス関連のフレームワークとツールを含むオープンソースの Go マイクロサービス フレームワークです。

ウェアハウスのアドレス: https://github.com/cloudwego/kitex

公式ドキュメントのアドレス: https://go-kratos.dev/docs/

6.CloudWeGo-Kitex(5.2K)

プロジェクト紹介:byte beat, KiteX が 2020.04 に正式にリリースされて以来、同社は 8k の内部サービスと 1 億を超える QPS を提供してきました。 KiteX は、ByteDance Framework Group によって開発された、次世代の高性能で拡張性の高い Go RPC フレームワークです。豊富なサービス ガバナンス機能に加えて、他のフレームワークと比較して次のような特徴もあります: 自社開発のネットワーク ライブラリ Netpoll を統合し、複数のメッセージ プロトコル (Thrift、Protobuf) と複数の対話方法 (ピンポン、ワンウェイ、ストリーミング) をサポートします。 ); より柔軟で拡張可能なコード ジェネレーターを提供します。

ウェアハウスのアドレス: https://github.com/cloudwego/kitex

公式ドキュメントのアドレス: https://www.cloudwego.io/zh/docs/overview/

7.Goa(4.9K)

プロジェクトの紹介: Goa は、Build a のための Go アプリケーションです。マイクロサービス フレームワークを採用し、独自のデザインファースト アプローチを採用しています。

ウェアハウス アドレス: https://github.com/goadesign/goa

公式ドキュメント アドレス: https:// goa.design /

8.Dubbo-go(4.2K)

プロジェクト紹介:Ali, Apache Software Foundation によって正式にリリースされ、Go 言語が Dubbo エコシステムに加わりました。アーキテクチャは、dubbo の拡張モジュールと階層化されたコード設計に基づいており、主に Go プロジェクトと Java および Dubbo の問題を解決します。相互運用性の問題、および Go プロジェクトの RPC とマイクロサービスも提供します

ウェアハウス アドレス: https://github.com/apache/dubbo-go

公式ドキュメント アドレス:https://dubbogo.github.io/dubbo-go-website/zh-cn/

9.Jupiter(3.9K)

プロジェクトの紹介: Douyu は、豊富なバックエンド機能を提供し、アプリケーションのリソースと構成を管理するオープンソースのマイクロサービス ガバナンス フレームワークです。アプリケーションのパフォーマンスを視覚化し、構成など

ウェアハウスのアドレス: https://github.com/douyu/jupiter

公式ドキュメントのアドレス: http://jupiter.douyu.com/

#10.Tars-go#(3.1K)プロジェクト紹介:

Tencent , Tarsgo は、Tars プロトコルを使用した Golang プログラミング言語に基づく高性能 RPC フレームワークです

ウェアハウス アドレス: https://github.com/TarsCloud/TarsGo

公式ドキュメントアドレス: https://tarscloud.github.io/TarsDocs/SUMMARY.html#TarsGo

添付ファイル: Polaris-polaris-go

Polaris は、Tencent のオープンソース サービスの検出とガバナンスです。分散型またはマイクロサービス アーキテクチャにおけるサービスの可視性、フォールト トレランス、フロー制御、およびセキュリティの問題を解決するために使用されます。

ウェアハウスのアドレス: https://github.com/polarismesh/polaris

公式ドキュメントのアドレス: https://polarismesh.cn/#/

##11.Jaeger

#Jaeger は Uber の分散追跡システムで、Google dapper の原則に基づいて構築され、ストレージ レイヤーとして Cassandra を使用します。

12.ファビオ

fabio は、eBay チームが golang を使用して開発した、高速でシンプルな設定不要のロード バランシング ルーターで、領事がデプロイしたアプリケーションが http(s) を迅速にサポートできるようにします。 [関連する推奨事項: Go ビデオ チュートリアル ]

13.gizmo

gizmo は、The によってオープンソース化されています。次の機能を提供する New York Times Go マイクロサービス ツール: 標準化された構成とログ、構成可能なポリシーを使用した状態監視エンドポイント、pprof エンドポイントとログ レベルを管理するための構成、基本的なリクエスト情報を提供する構造化されたログ、エンドポイントの有用なメトリクス、サービスの正常な停止、サービスの停止。期待値と語彙を定義する基本的なインターフェイス。

14.kite

kite は Go 言語をベースにしたマイクロサービス フレームワークです。Kite は Koding Company 内のフレームワークです。このフレームワークはサービス ディスカバリを提供します、複数の認証機能、サーバーは RPC 経由で通信し、ブラウザとサーバー間の通信を容易にする WebSocket js ライブラリも提供します。

15.hystrix-go

hystrix-go は、リモート システム コール、サードパーティ ライブラリ コール、およびサービス呼び出し 、雪崩の影響を回避するためのサーキット ブレーカー メカニズムを提供するライブラリ、Hystrix の go バージョン。注 Hystrixs は、Netflix によってオープンソース化された Java ライブラリです。

16.ゲートウェイ

ゲートウェイは、go を使用して実装された HTTP ベースの API ゲートウェイです。機能: API アグリゲーション、フロー制御、サーキット ブレーカー、ロード バランシング、ヘルス チェック、モニタリング、メッセージ ルーティング、バックエンド管理 WebUI。できること: 発信者にとってよりわかりやすい URL を計画します。複数の API を集約した結果が API 呼び出し元に返されるため、モバイル端末にとって有益であり、バックエンドはアトミック インターフェイスを実装できます。バックエンド API サービスが突然の異常なトラフィックによって圧倒されないように保護します。バックエンド API サーバーに自己回復機能を持たせるためのサーキット ブレーカー メカニズムを提供します。メッセージ ルーティング機能の助けを借りて、グレースケール パブリッシュと AB テストが実現されます。

17.rainbond

Yunbang は、Kubernetes のコンテナ管理と Service Mesh マイクロサービスを深く統合する、アプリケーション中心のオープンソース PaaS です。サービス アーキテクチャのベスト プラクティスは、迅速なビジネス開発をサポートするために必要なアジャイル開発、効率的な運用とメンテナンス、無駄のない管理のニーズを満たします。

18.appdash

appdash は分散アプリケーション追跡システムの go バージョンで、google dapper の原理に基づいて構築されています。

19.Hprose

Hprose は、高性能リモート オブジェクト サービス エンジンの略語で、マイクロサービスに推奨されるエンジンです。これは、高度な軽量、クロス言語、クロスプラットフォームのオブジェクト指向の高性能リモート動的通信ミドルウェアです。使いやすいだけでなく、強力でもあります。学習に必要な時間はわずかで、これを使用して、言語やプラットフォームを超えた分散アプリケーション システムを簡単に構築できます。

プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !

以上がGo 言語にはマイクロサービス フレームワークがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート