分散プロトコル

1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...

分散関連ツール

ラフト

分散一貫性プロトコルRAFTの動画デモンストレーション:

Http://thesecretlivesofdata.com/raft/

Glusterfs

分散分散ファイルシステムglusterfs:

Http://navyaijm.blog.51cto.com/4647068/1258250

分散自己増分Id

Https://www.cnblogs.com/baiwa/p/5318432.html

Twitter配布自己増加ID:https://www.cnblogs.com/relucent/p/4955340.html


BTプロトコル実装

Http://m.blog.csdn .NET / article / details?id = 51113358

Java Torrentの実装

Github:https://github.com/mpetazzoni/ttorrent

分散システムの分析

開発と運用から前の段落の最後まで、データ応答への要求。 分散システムは、上から下に分析されます。

Http://wetest.qq.com/lab/view/203.html?from=content_toutiao&hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

スパイクシステムアーキテクチャ分析

建設の最適化のアイデア:

(1)システムの上流にある要求を傍受しようとする(上流が良い)。

(2)より少ない書き込み(キャッシュ・アンチ・リード・プレッシャ)で共通のマルチユース・キャッシュを読み出す。

ブラウザとAPP:速度制限

サイトレイヤー:速度制限を行うuidに従って、ページキャッシュを行う

サービス層:サービスに応じて、要求キューを作成してトラフィックを制御し、データキャッシュを実行します。

データレイヤー:レジャーウォーク

そして:ビジネスで最適化する

参照リンク

Javaシステムチューニング

Javaメモリ、パフォーマンスチューニング、圧力測定、およびその他の方法。

Http://www.rowkey.me/blog/2016/11/02/java-profile/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

分散トランザクション整合性

実装戦略:

2フェーズ提出:

XA(Tx、Tm)に基づく2フェーズコミット戦略

1、準備、準備する

2、送信、コミット

メッセージベースの2フェーズコミット戦略(メッセージトランザクション+最終整合性)

いわゆるメッセージ・トランザクションは、メッセージ・ミドルウェアの2フェーズ・コミットに基づいており、本質的にはメッセージ・ミドルウェアの特殊な使用であり、ローカル・トランザクションとメッセージを分散トランザクションに入れて、ローカル・オペレーションが正常に実行されるようにします。そして、外部のメッセージングの成功、または両方が失敗した、オープンソースのRocketMQはこの機能をサポートしています、具体的な原則は次のとおりです: ビュー画像 1、システムはメッセージミドルウェア
2.メッセージミドルウェアは、準備メッセージを保存して成功を返します。3. Aは、ローカルトランザクションを実行します。4. Aは、メッセージミドルウェアに送信メッセージを送信して、上記の4つの手順でメッセージトランザクションを完了します。 上記の4つのステップでは、各ステップでエラーが発生する可能性があります。

最初のステップが失敗すると、トランザクション全体が失敗し、Aのローカル操作は実行されません。2番目のトランザクションが失敗した場合は、トランザクション全体が失敗します.Aのローカル操作は実行されません。 その答えは、Aシステムがメッセージミドルウェアのコールバックインタフェースを実装していることであり、メッセージミドルウェアはコールバックインタフェースを継続的に実行してAトランザクションの実行が成功したかどうかをチェックし、失敗した場合は準備メッセージをロールバックする。 、メッセージミドルウェアをロールバックする? 実際、コールバック・インターフェースを介して、メッセージ・ミドルウェアはAが成功したことを確認できます。このとき、Aはメッセージを送信する必要はありません。メッセージ・ミドルウェアはメッセージ自体を送信してメッセージに基づいてメッセージ・トランザクションを完了できます。このピースの2フェーズコミットは、分散トランザクションをメッセージトランザクション(Aシステムのローカルオペレーション+メッセージの送信)+ Bシステムのローカルオペレーションに分割するために頻繁に使用され、Bシステムのオペレーションはメッセージによって駆動されますメッセージトランザクションが成功すると、Aオペレーションは成功しなければならず、メッセージは送信されなければならない。このとき、Bはローカルオペレーションを実行するためのメッセージを受信する。 AおよびB分散トランザクション。 上記のスキームはAとBの操作を完了できますが、AとBは厳密に一貫していませんが、最終的に一貫していますが、パフォーマンスの大幅な向上と引き換えに、ここで一貫性を犠牲にしました。 もちろん、この種のゲームプレイも危険です.Bが成功しないと、一貫性が失われます。プレイしたい場合は、ビジネスにどれだけのリスクがあるかを見なければなりません。

オリジナル:https://gold.xitu.io/entry/577c6f220a2b5800573492be

http://www.cnblogs.com/chenjianxiang/p/6099023.html(配布物の一貫性)

Https://segmentfault.com/a/1190000007484455(nodejs分散されたもの)

Https://segmentfault.com/a/1190000004474144(配布物)

http://ttanple.blog.163.com/blog/static/70971767201311810939564/(論文の2段階提出)

Http://www.roncoo.com/article/detail/124243(マイクロサービス分散トランザクション解決)

Java
プラットフォームでトランザクションを実装する際の一般的なエラー

地元のものが罠

Spring @Transactionalアノテーショントラップ

Spring @Transactional読み取り専用フラグ

REQUIRES_NEWトランザクション属性トラップ

ものはロールバックトラップ

Http://www.ibm.com/developerworks/cn/java/j-ts1.html#ibm-pcon

分散システムの相互排除と冪等問題

相互排除の操作の場合、一般的な方法は、分散ロックを介して共有リソースの優先権を処理することです。 分散ロックの実装は、マルチスレッド環境およびマルチプロセス環境におけるミューテックスロックの実装原則に大きく依存しています。 ストレージの基本的な側面が満たされ、ネットワークの切断などの例外を解決できる限り、分散ロックを実装できます。 ZookeeperやRedisなどのストレージエンジンをベースとする典型的な分散ロック実装が既に存在します。 ZooKeeperとTairをベースとしたマルチエンジン分散ロックCerberusを開発しました.ZooKeeperとTairは柔軟な使い方や利便性など、多くの利点を持ちます。

Http://tech.meituan.com/distributed-system-mutually-exclusive-idempotence-cerberus-gtis.html

分散一貫性原則とジェネリックス

分散システムの詳細については、「分散システムの原則とジェネリックス」を参照してください。これは、ロック、事象、2フェーズ・コミット、3フェーズ・コミットなどの分散システムの一貫性を詳しく説明しています。 データの同期、レプリケーションなど。

——— Chapter-7一貫性と複製

データ更新戦略:

1、サーバーベースの更新 – プッシュ

サーバーは、視聴者へのタイムリーな配信を確保するために、多数のユーザーサブスクリプションを維持する必要があります。

2、クライアントの回転トレーニングに基づいて – プル

クライアントは、データをプルするためにデータをプルする必要があり、クライアントの負担が増えます。

3、2つのレンタル期間のインタフェースと組み合わせる

サーバーは一定期間プッシュを開始し、リースが期限切れになると、クライアントはデータを更新するか、クライアントがデータをプルします。 サーバーがデータを必要とするユーザーだけを見ていることを確認します。 そして、いくつかの不必要なプッシュを維持してください。


1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...
      この投稿は審査処理中  | 元のサイトへ