サービス通信、ディスカバリー、トラフィック管理を実現するRPC・マイクロサービスフレームワーク、Apache DubboのJava実装。
smallnest/rpcx
プラグイン式のサービスディスカバリー、複数のトランスポートとコーデック、HTTP経由の多言語アクセスに対応した、マイクロサービス構築向けのGo RPCフレームワーク。
- スター
- 8,319
- フォーク
- 1,173
- 未解決の Issue
- 4
- 最終コミット
- 2 か月前
これは何?
rpcxはAlibaba Dubboを参考にGoで開発されたRPCフレームワークで、ネットワーク越しに互いを呼び出すサービスへアプリケーションを分割できます。protoファイルを用意せずにGoの関数をRPCメソッドとして公開でき、クライアントはロードバランシングやフェイルオーバーのオプションを備えたシンプルなAPIで呼び出せます。
TCP、HTTP、QUIC、KCPの各トランスポートと、JSON、Protobuf、MessagePack、raw bytesなどのコーデックに対応しています。サービスディスカバリーにはpeer-to-peer設定、zookeeper、etcd、consul、mDNSを利用でき、ロードバランシングではランダム、ラウンドロビン、一貫性ハッシュ、重み付けなどの戦略を選べます。HTTP gatewayを介して他の言語からサービスを呼び出すこともでき、JavaとRustの実装も提供されています。
認証、メタデータの受け渡し、圧縮、ハートビート、双方向通信、バックアップリクエストなどの機能を備えています。etcd、zookeeper、consulなど一部のプラグインは、バージョン1.7.6以降、別のリポジトリに移行しています。
主な機能
- 01protoファイルなしで、通常のGoメソッドをRPCエンドポイントとして公開できます。
- 02TCP、HTTP、QUIC、KCPの各トランスポートに対応しています。
- 03JSON、Protobuf、MessagePack、raw byteの各コーデックを利用できます。
- 04peer-to-peer、zookeeper、etcd、consul、mDNSによるサービスディスカバリーを提供します。
- 05ロードバランシング戦略に加え、フェイルオーバー、フェイルファスト、フェイルトライの耐障害モードを備えています。
ユースケース
- RPCで互いに呼び出すGoバックエンドをマイクロサービスに分割する。
- HTTP gatewayを介して、他の言語で書かれたサービスからGoサービスを呼び出す。
- サービスディスカバリーとロードバランシングが必要な、内部サービス間通信を構築する。
収録されている特集
トピック
よくある質問
- rpcx とは?
- プラグイン式のサービスディスカバリー、複数のトランスポートとコーデック、HTTP経由の多言語アクセスに対応した、マイクロサービス構築向けのGo RPCフレームワーク。 rpcxはAlibaba Dubboを参考にGoで開発されたRPCフレームワークで、ネットワーク越しに互いを呼び出すサービスへアプリケーションを分割できます。protoファイルを用意せずにGoの関数をRPCメソッドとして公開でき、クライアントはロードバランシングやフェイルオーバーのオプションを備えたシンプルなAPIで呼び出せます。
- rpcx は無料で使えますか?ライセンスは?
- rpcx は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- rpcx は今もメンテナンスされていますか?
- 半年以内に更新あり。rpcx の最終コミットは 2026年9月3日 です。
- rpcx は何に使えますか?
- RPCで互いに呼び出すGoバックエンドをマイクロサービスに分割する。 HTTP gatewayを介して、他の言語で書かれたサービスからGoサービスを呼び出す。 サービスディスカバリーとロードバランシングが必要な、内部サービス間通信を構築する。
- rpcx はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/smallnest/rpcx
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Spring CloudアプリケーションをTencentのPolarisと連携させ、サービスディスカバリーとガバナンスを実現するSpring Cloud実装です。
プラグインチェーンと中央管理用のAdminコンソールを備えた、サービスプロキシ、プロトコル変換、APIガバナンス向けのJava製APIゲートウェイ。
RPC、サービスディスカバリー、メッセージング、ストレージ、設定に加え、エージェント、ツール、ワークフローを備えた分散システム向けGoフレームワーク。
クラウドネイティブ環境やマイクロサービスシステム向けに、動的なサービスディスカバリー、設定管理、サービスメタデータ管理を提供するオープンソースプラットフォーム。
@GrpcServiceや@GrpcClientなどのアノテーションを使い、手動でチャネルやサーバーを設定せずにgRPCサーバーとクライアントを動かせるSpring Bootスターター。