Javaミドルウェアシステムの実践(Cengxian傑)感情を持つ大規模なウェブサイトを読みます

本質的にはそうでない場合より、https://blog.csdn.net/qq_29857681/article/details/90578534:免責事項
  1. クラスタモデルは、1 + 1> 2であります
    1. 最初は単一のサーバは、単にサーバーを追加することはできませんトラフィックの増大が、サーバと、そこにあるだけでなく、管理者を追加します
  2. クラスタ自体は、高容量、高並行性、可用性(3高い)を有する断片であります
  3. 三つのモデルマネージャサーバ
    1. サーバーの背後にあるプロキシモード選択制御プロキシサーバーを増やします
    2. ネームサーバー
      1. アドレスは、サーバ名に同期されるサービスノードを変更、サービスノードのネームサーバに保存されています
      2. 直接サービスノードに接続されているすべてのサービス要求元ノードアドレスを取得
    3. マスタ・スレーブモード
      1. すべてのメインサーバの店は、サービスからの情報に対処します
      2. 要求がマスタルーティングサーバは、選択、マスターサーバーに送信された後、サービスは、アドレスを返し、サーバ端末からの直接の要求

問題とデータトラフィック量が増加

  1. ライブラリサービスクエリ、結合、複数のデータベース上の圧力が上下に分割されなければならない増加します
    1. 質問:分散トランザクションをトリガー
  2. MySQLの単一テーブル記憶容量限界2000ワット
    1. データテーブルの大量、水平解像度
  3. システム
    1. ルーティングポリシー
    2. 一次抗リプレイ
    3. ページングソート

メッセージングミドルウェア

利点:非同期とデカップリング

インスピレーションが来た:データベースを保護しようとする、外部アプリケーションデータベース(コアデータの暗号化と復号化、非同期同期キャッシュ、検索を)感じることはないがあります

ミドルウェアの分類(主に一般的な問題を解決するために)

  1. サービスコールとガバナンス
  2. メッセージングミドルウェア
  3. データアクセスミドルウェア

インスピレーションが来た:あな​​たは今の技術を使用して、あなたが利益を知らない歴史を読んでいない、物事はそうです

便益比はReentrantLockのを同期

  1. tryLock
  2. フェアロック
  3. 読み書きロック

類似点と相違点は、同期および揮発性

と:

同期同期はメインメモリとスレッドの唯一のコピーとの間のショット、揮発性メモリを呼び出すことができます

  1. スレッドをコピーするには、メインメモリからデータをコピーします。
  2. スレッドをコピーするには、メインメモリからのデータを同期

異なります:

相互に排他的な操作を行うことができ、同期

5つのロッキング方式がたCountDownLatchフェンスセマフォをロックsynchorizedあります

主にきめの細かい同時実行制御にセマフォ

サービスの利点は、機械パケットサービスの分離をグループ化しています

紛争のjarパッケージを解決する最良の方法は、実装クラスの分離をロードするために、カスタムクラスローダであります

実際には、定期タスクのタイムアウトコールバック関数応答タイムアウトのタイムアウト後
、次の4つの方法は、リモート呼び出しがパッシブ2 3将来のアクティブ制御タイムアウトコールバック4の結果を気にしない一方向の信頼できる非同期メッセージングミドルウェアです

デコードされたRPCプロセス制限エージェントネットワーク・ルーティング・コードが戻って反射しました

メッセージングミドルウェア

メッセージの整合性を確保する方法

それはいくつかのニュースに行くことができない、成功するビジネス操作の後、メッセージは、ビジネスの失敗を送信されます、です

  1.  最初の書き込みメッセージ保留状態のミドルウェアライブラリ
  2. そして、ビジネスオペレーションを呼び出して、
  3. 成功した場合、メッセージは代わりに送信されます、それはメッセージを削除するために失敗しました

ネイティブのJMSメッセージモデル

ポイント:メッセージのみコンシューマ・アプリケーション、アプリケーションが消費されます、別のアプリケーションが再び消費することはできません

パブリッシュ・サブスクライブ:消費者は、すべてのメッセージは、独立したトピックに到着受け取ることができます

どのように異なる接続が自分のニュース消費量の異なるクラスターを干渉しないことを保証するために、クラスタ内の消費は、メッセージを繰り返されていませんか?

クラスタID:クラスタ内のIDパケットは、それぞれに接続されています。

ピアモデル:モデルクラスタ内のポイントツーポイントを使用して、アプリケーションが他のアプリケーションのニュースを消費することはできません

メッセージの信頼性を確保する方法

永続サブスクリプション:アプリケーションがダウンした場合でも、メッセージが保存され、他のアプリケーション後に復元、過ごすために継続されます

送信と永続的な非永続的な伝送の最大の違いは、次のとおりです。永続的な伝送を使用する場合は、メッセージの送信は(メッセージはディスク/データベースに永続化されている)は、ディスクに保存されます、または「ストアアンドフォワード」のアプローチ。メッセージは、「進む」購読者たちへのメッセージ、その後、最初にディスクに保存されます。Borker回復ダウン、メッセージがまだある場合には

 

おすすめ

転載: blog.csdn.net/qq_29857681/article/details/90578534