魚の皮膚RPCフレーム
0から1まで、独自のRPCフレームワークを開発してください
Fish Skin Original Projectチュートリアルシリーズ:https://yuyuanweb.feishu.cn/wiki/sepywtc9tipqicktw7uc7kujncd
プロジェクトの紹介
Java + etcd + vert.xに基づいた高性能RPCフレームワークは、新しいテクノロジースタックを使用して全員を0から1のホイールを開発するように導きます。チュートリアルは浅いものから深いものになり、vert.xベースのネットワークサーバー、シリアル化剤、などのシリアル化剤、zookeeperベースの登録センター、ダイナミックエージェン(Singleton/Factory/Decoratorsなど)、ロードバランサーの設計、再試行およびフォールトトレランスメカニズム、スプリングブートスターター注釈駆動型開発など、建築設計機能を大幅に改善します。
このプロジェクトは、基本バージョンと拡張バージョンに分かれています。
- 基本バージョンは履歴書に数時間で書くことができます〜
- 拡張バージョンは、ハイライトに満ちた技術プロジェクトであり、履歴書をより競争力のあるものにするためにビジネスプロジェクトと組み合わされます。
学習を開始または詳細を学びます:手書きのRPCフレームワーク(最新の24年)
オープンソースアドレス:https://github.com/liyupi/yu-rpc
チュートリアルの第1章は無料で学ぶことができます
命令ビデオ-RPC説明
プロジェクトディスプレイ
ディレクトリ構造:

詳細な乳母レベルのテキストチュートリアル:

技術選択
後部
バックエンドテクノロジーは主にJavaですが、すべてのアイデアとデザインは他の言語に再利用でき、コードはまったく異なります。
- ショ和vert.xフレームワーク
- ピオンデ
- Zookeeper分散調整ツール(キュレータークライアント)
- ショ和SPIメカニズム
- §複数のシリアル化剤
- JSONシリアル化
- クリオシリアル化
- ヘシアンシリアル化
- §複数の設計モード
- ロックシングルトンモードを再確認します
- 工場モデル
- エージェントモード
- デコレーターモード
- §スプリングブートスターター開発
- 反射と注釈ドライブ
- Guava Retrying Retry Library
- JUNITユニットテスト
- ログバックログライブラリ
- Hutool、Lombok Tool Library
ソースコードディレクトリ
- Yu-RPC-Core:Fish Skin RPC Frameworkコアコード
- yu-rpc-easy:魚の皮膚RPCフレームシンプルバージョン(初心者に適しています)
- 実例:コード共通モジュールの例
- 例消費者:サービス消費者の例
- サンプルプロバイダー:サンプルサービスプロバイダー
- 例-SpringBoot-Consumer:サンプルサービスコンシューマー(Spring Boot Framework)
- 例-SpringBoot-Provider:サンプルサービスプロバイダー(Spring Boot Framework)
- yu-rpc-spring-boot-starter:springブートプロジェクトで迅速に使用できる注釈駆動型RPCフレームワーク
プロジェクトチュートリアルの概要
このプロジェクトには多くのコンテンツがあるため、学習したい知識ポイントがあるかどうかを確認できます。
第1章:RPCフレームワークシンプルバージョン
- RPCの基本概念と機能
- RPCフレームワークの実装アイデア|基本設計
- RPCフレームワークの実装アイデア|拡張デザイン
- RPC開発の単純なバージョン|プロジェクトの初期化
- RPC開発の単純なバージョン| Webサーバー
- RPC開発の単純なバージョン|地元のサービス登録者
- RPC開発の単純なバージョン| Serializer
- RPC開発の単純なバージョン|リクエストプロセッサ
- RPC開発の単純なバージョン|消費者エージェント
- RPC開発の単純なバージョン|テスト検証
第2章:RPCフレームワーク拡張バージョン
- グローバル構成読み込み|拡張バージョンプロジェクトの初期化
- グローバル構成読み込み|構成読み込みの実装
- グローバル構成読み込み|グローバル構成オブジェクトを維持します
- インターフェイスモックの設計と実装
- Serializer |主流のシリアル化剤の比較
- Serializer |複数のシリアナーの実装
- Serializer | SPIメカニズム
- Serializer |拡張可能なシリアナーの実装(SPI +工場モード)
- 登録センター|登録センターコアコンピテンシー
- 登録センター|登録センターの技術選択
- 登録センター| ETCDクラウドネイティブミドルウェアを始めます
- 登録センター| ETCDに基づく登録センターの実装
- 登録センター|拡張可能な登録センターの実装(SPI +工場モード)
- 登録センターの最適化|ハートビート検出と更新メカニズム
- 登録センターの最適化|サービスノードオフラインメカニズム
- 登録センターの最適化|消費者サービスキャッシュ
- 登録センターの最適化|キャッシュアップデート(ETCDリスニングメカニズム)
- 登録センターの最適化| Zookeeper登録センターの実装
- カスタムプロトコル|要件分析とソリューション設計
- カスタムプロトコル|メッセージ構造のデザイン(ダボを参照)
- カスタムプロトコル|ネットワーク伝送設計(vert.xに基づいてTCPサーバーの実装)
- カスタムプロトコル|エンコーダ/デコーダー
- カスタムプロトコル| TCP要求プロセッサ
- カスタムプロトコル| TCP要求クライアント
- カスタムプロトコル|粘着性のハーフパッケージ問題の分析
- カスタムプロトコル| vert.xを使用して、スティッキーハーフパッケージの問題を解決します
- カスタムプロトコル|クライアントコードの最適化(デコレーターモード)
- ロードバランシング|ロードバランシングの概念と共通アルゴリズム
- ロードバランシング|一貫したハッシュ
- ロードバランシング|複数の負荷分散実装
- ロードバランシング|スケーラブルなロードバランサーの実装(SPI +工場モード)
- 再試行メカニズム|待機ポリシーを再試行します
- 再試行メカニズム|再試行ソリューション設計
- 再試行メカニズム|複数の再試行戦略の実装
- 再試行メカニズム|拡張可能な再試行ポリシーの実装(SPI +工場モード)
- フォールトトレラントメカニズム|フォールトトレラントポリシーと実装方法
- フォールトトレラントメカニズム|フォールトトレラントソリューション設計
- フォールトトレラントメカニズム|複数の障害耐性戦略の実装
- フォールトトレラントメカニズム|スケーラブルなフォールトトレラントポリシーの実装(SPI +工場モデル)
- スタートアップメカニズム|フレームワーククイックスタートクラス
- スタートアップメカニズム|注釈駆動型デザイン
- スタートアップメカニズム| Spring Boot Starter Annotation Driverの実装
- プロジェクト拡張のアイデア
完全なプロジェクトチュートリアル調査
クリックしてプログラミングナビゲーションに参加すると、過去のすべてのオリジナルプロジェクトを学ぶことができます。