1、MQシーン
1)注文非同期デカップリング
分散トランザクションの問題が解決する2)
3)プラットフォームチャットに適用
4)大規模な機械キャッシュ同期
5)MySQLのバイナリログサブスクリプション・データ配信
2、ONSシナリオ
非同期に、デカップリング、最終的に一貫並列
3、設計が想定している
1)各PCのマシンがダウンして、マシンを修理できなかった
2)任意のクラスタは、処理能力不足があり
3)最悪のシナリオが起こる
4)ネットワーク環境内には、あなたに最高のユーザー体験を提供するために、低遅延を必要とし
図4に示すように、主要な設計
1)分散クラスタ
A、理論的には無限の処理能力
B、高可用性クラスタレベル
2)強力なセキュリティデータ
、単一の冗長ディスク・レベル
B、マルチレベルの冗長キューの単一のセット
C、設定メッセージキューの複数冗長
3)データの膨大な量の蓄積
A、プッシュモード:単純な論理加入者
B、モードを引っ張っ:特定の速いフォロー
Cを、組み合わせプッシュとプル:キューは、消費者に通知し、消費者が(2回の相互作用)プルする
アリを使用して、Dをポーリングと接続長さ:ポーリングは、プル存在は、全く接続がメッセージまで待つ長く維持されていない、引く
送達遅延ミリ秒4)
5、重要な概念を
1)トピック:第一段階メッセージタイプ、メインタイトル
2)タグボート:メッセージ型の第2ステージ、字幕
3)グループを送信クラスタメーカー
4)サブスクライブ:消費者がクラスタ
5)は1対1をRocketMQ、 1ランダム、多くはない
6)ネットワーク三つの状態は:、成功失敗し、応答しなかった
6を、メッセージの問題をスクランブル:メッセージサーバは、正確に修正するために必要なプロセス、ない
1)は、メッセージID、送信
2)加入者処理(シャーディング)へのメッセージの唯一の組が存在する
数(すなわち、「粒度をロック」)3)できるだけ小さいメッセージのグループ
7、メッセージの重複
ネットワーク到達不能:原因を繰り返した1)
2)冪等は:関係なく動作が繰り返される回数、結果は同じ(解決策、高性能)ではない
3)非冪等、重量に対する
各メッセージの一意のタグIDを確認し、;
B、メッセージ処理テーブルの重量の成功を確実にするために同時ログイン
4)は重い代償を行く:余分なTPSとQPS
8、分散トランザクションの最適化
1)トランザクション1 - > MQサーバー- >トランザクション2
を同時に2)に成功したが、失敗しました:
、メッセージを、
B、実行トランザクション1;
C、送信された確認メッセージ 給;
D、消費者への配信メッセージ
3)処理のタイムアウト問題(リピート):2追加メッセージは、トランザクションテーブルを確認する(重複テーブル)
4)失敗メッセージ(トランザクション2)失敗:手動操作(小さな確率イベント)を記録した後
----------- ----------
著者:猿の兄弟は、1024
ソース:CSDN
元ます。https://blog.csdn.net/qq_21033663/article/details/73379103
著作権:この記事はブロガーのオリジナルの記事、再現され、添付してくださいリンク上のボーエン!
仕上げノート - アリは、オープン・メッセージング・サービス(ONS)の原則と実践を分散しました
おすすめ
転載: www.cnblogs.com/zeenzhou/p/11246201.html
おすすめ
ランキング