Netty 情報ロードは、長時間接続のリアルタイム通信システムを実装するために使用され、クライアントはあらゆるシナリオで使用でき、リアルタイム http 通信、webSocket 通信、tcp プロトコル通信、udp プロトコル通信、ブロードキャスト プロトコルなどをサポートします。 http プロトコルと RPC プロトコル。 カスタム ネットワーク パケット構造を使用して、カスタム ネットワーク スタックを実装します。
1: サービス ノード構成の分散 Zookeeper をサポートします。
2: netty プライベート メッセージ プロトコル スタックをカスタム アノテーションの形式で実装します。
3: リモート RPC 呼び出しをサポートします。
4: Redis をサポートします。
5: データベースの分離をサポートします。
6: 同期および非同期メッセージ処理をサポート
7: 分散メッセージ キューを実装するための kafka メッセージ キューの供給/消費モデルをサポートします。
8: データのセキュリティを確保するために、データの暗号化された送信をサポートします。
9: 分散トランザクション 3 個の送信と例外ロールバックをサポートします。
1: ゲームサーバー
2:リアルタイム通信システム
3: 財務データ処理システム
4: リアルタイム ネットワーク パフォーマンスに対する高い要件があるシステム
5: 一般的なインターネット システム
独立したデータ データベース モジュール、独立したトランザクション モジュール、独立したスレッド スケジューリング モジュール。ネットワーク サービスをマイクロサービスの形式で提供します。
TCP 通信。netty を使用して TCP 通信を実現します。プロジェクトで comtwjitmcorestartGameService を使用し、起動モードを TCP サーバー起動モードに変更します。testjavacomtwjitmClientServiceTest を使用できます。顧客をシミュレートするテスト 接続するには、接続する TCP サーバーのポートとアドレスを変更する必要があります。 TCP メッセージ処理では、メッセージ キューを使用してすべての受信メッセージをキューに入れ、スレッド プーリング テクノロジを通じてメッセージを処理します。
UDP カスタム ネットワーク プロトコル スタックの形式は、TCP カスタム ネットワーク プロトコル スタックの形式に似ています。違いは、UDP がステートレス通信モードである接続を確立する必要がなく、使用時にセッションが保存されることです。 TCP 接続は、どのクライアントであるかを判断するために使用されます。UDP プロトコルは、同期キュー モード、コンシューマ モードなどの 2 つの異なるメッセージ処理モードを通じてクライアントから送信されたメッセージを正しく処理できます。
HTTP プロトコルもカスタム ネットワーク プロトコル スタックを使用して実装されます。これは、データ パケットが TCP のアプリケーション層上に構築されたプロトコルである点を除けば、TCP および UDP プロトコルと似ています。 同期処理を使用して、メッセージが到着したときに適時に処理します。
RPC モジュールは、同期呼び出しと非同期呼び出し、リモート サーバー呼び出し、netty を使用した軽量 RPC サーバー フレームワークの実装、およびスレッド譲歩戦略のカスタマイズに分かれています。動的プロキシなどの基本的な Java 知識と組み合わせて、rpc サーバー通信モジュールが実装されます。 xml ドキュメントを使用して、rpc サーバーの基本情報を構成し、サーバーの動的な水平拡張を実現します。分散サーバーの基本的な準備をする
Zookeeper、動的登録サービス、検出サービスを統合し、rpc ロジックを統合することにより、分散型サービスの検出と登録が実現されます。
Kafka サービスを統合することによって。分散サーバー メッセージ キューを実装し、システム内のロジックを分離します。
スペースの複雑さ、時間の複雑さ、応答時間、ストレス テスト機能、およびプロジェクトのその他のパフォーマンスを引き続き最適化中
このプロジェクトでは Spring を使用して一部の Bean を均一に管理し、サーバーの起動時にコンテナーの初期化を Spring に均一に送信することで、Spring コンテナーに注入された Bean オブジェクトを簡単に取得し、可読性を向上させます。コード。
スレッド管理を通じて、サーバー イベントの更新では、独立モードを使用してサーバー イベントを更新し、キュー モードを使用してイベントのシリアル実行を可能にします。
著者: 適当にあだ名をつけないでください twjitm qq: 1089718215
ブログアドレス https://blog.csdn.net/baidu_23086307
個人のウェブサイトのアドレス: https://twjitm.com