分散トランザクションは、多くの場合、サービス指向の問題点です。多くのシナリオでは、ビジネスを通じて分散トランザクションを回避していますが、分散トランザクションに依存する必要があるシナリオもまだいくつかあります。分散トランザクションの処理方法について話しましょう |
を実装する必要があります。
柔軟な分散トランザクションは、分散システムでトランザクションを処理する方法です。ベストエフォート型のコミット戦略が採用されています。つまり、トランザクションの送信を完了するために最善を尽くしますが、一部の操作の失敗も許容されます。柔軟な分散トランザクションでは、通常、トランザクション管理の実装に TCC (試行-確認-キャンセル) モードが使用されます。 TCC モデルは、トランザクションを試行、確認、キャンセルの 3 つのフェーズに分解します。まず、分散トランザクションの前提条件の保証を解決します。メッセージの繰り返しの送信がビジネスに影響を与えるのを防ぐために、インターフェースは冪等である必要があります。
2 信頼性の高いメッセージ システムの設計 (これは良い感じで比較的シンプルなので共有します)上に示したとおり
実行の開始例:
###試す{###
if(prepare()) { //送信前フェーズ
updateMsgStatus();//ステータスを確認するためにメッセージを更新
}
}
1 メッセージの事前送信、試行フェーズ。メッセージの事前送信が失敗した場合、ビジネスはまだ実行されていないため、システム A と B は依然として一貫性があり、処理は必要ありません。
これはわかりやすいですね
2 現在送信されたメッセージは成功し、ビジネス ロジックの実行が開始されます。実行が成功すると、更新された送信前メッセージのステータスが送信確認に変更されます。このときビジネスロジックの実行に失敗すると、送信済みのメッセージは新たなステータスに更新されず、この時点でメッセージ確認システムが動作し、業務システム1に戻ってメッセージのステータスを確認することになります。業務実行が失敗したことが判明した場合は、送信前ステータスを失敗ステータスに更新します。
###3 この時点でビジネスの実行が成功し、送信を確認するためにメッセージが更新されていれば、問題はありません。メッセージの更新が失敗した場合でも、メッセージ確認システムはステータスをチェックし、メッセージが削除されたか送信が確認されたかを更新します。
を消費し始めます
1> たとえば、消費が失敗して不整合が発生した場合、メッセージ回復システムはメッセージのステータスを検出し、メッセージを再送信します。2>ビジネスの実行が失敗した場合、メッセージは確認されません。メッセージ回復システムは引き続きメッセージのステータスを検出し、メッセージを再送信します
3>アスクが失敗した場合は、上記のロジックで再送しますが、もちろん再送回数には制限があり、毎回送信できるわけではありません。最大回数を超えた場合は再送を行ってください。 、デッドレターキューに入り、手動介入を待ちます。
4> 質問が成功すると、メッセージは正常に消費されます。これは完璧であり、信頼性の高いメッセージ サービスの問題を解決します。
3 頑張って提出してくださいこれは比較的単純です。リアルタイム パフォーマンスが低い一部のシナリオでは、失敗したメッセージを繰り返し送信して、メッセージのプッシュが確実に成功するようにします。
たとえば、トランザクションが完了すると、サードパーティのメッセージがプッシュされます。現時点では、努力の提出
を使用できます。
この記事はオープンソースチャイナコミュニティ[http://www.oschina.net]からの転載です。以上が信頼性の高いメッセージング サービスの実装を検討するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Linux管理者の平均年salは、米国で75,000〜95,000ドル、ヨーロッパでは40,000〜60,000ユーロです。給与を増やすには、次のことができます。1。クラウドコンピューティングやコンテナテクノロジーなどの新しいテクノロジーを継続的に学習します。 2。プロジェクトの経験を蓄積し、ポートフォリオを確立します。 3.プロフェッショナルネットワークを確立し、ネットワークを拡大します。

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール
