技術共有

EIK ファイルビート カフカ

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. カフカの紹介

1.カフカの定義

Kafka は、パブリッシュ/サブスクライブ モデルに基づく分散メッセージ キュー (MQ、メッセージ キュー) であり、主にビッグ データの分野でのリアルタイム コンピューティングとログ収集に使用されます。

2. カフカの紹介

Kafka はもともと Linkedin によって開発された分散メッセージ ミドルウェア システムであり、パーティション、複数のレプリカをサポートしており、その最大の特徴は、大量のデータをリアルタイムで処理できることです。 Hadoopベースのバッチ処理システム、低遅延リアルタイムシステム、Spark/Flinkストリーミングエンジン、nginxアクセスログ、Scala言語で書かれたメッセージサービスなど、
Linkedin は 2010 年に Apache Foundation に寄付され、トップのオープンソース プロジェクトになりました。

3. メッセージ キュー (MQ) が必要な理由

主な理由は、同時実行性の高い環境では、同期リクエストが時間内に処理されず、リクエストがブロックされることが多いためです。たとえば、多数のリクエストが同時にデータベースにアクセスすると、行ロックやテーブル ロックが発生し、最終的にはリクエスト スレッドが過剰に蓄積し、過剰な接続エラーが発生し、雪崩現象が引き起こされます。
システムへの負担を軽減するために、メッセージ キューを使用してリクエストを非同期に処理します。メッセージ キューは、非同期処理、トラフィックのピークカット、アプリケーションの切り離し、メッセージ通信などのシナリオでよく使用されます。

現在、より一般的な MQ ミドルウェアには、ActiveMQ、RabbitMQ、RocketMQ、Kafka などが含まれます。

4. メッセージキューを使用する利点

(1) デカップリング
同じインターフェイス制約に従っている限り、両側のプロセスを独立して拡張または変更できます。

(2) 復元性
システムの 1 つのコンポーネントに障害が発生しても、システム全体には影響しません。メッセージ キューによりプロセス間の結合が軽減されるため、メッセージを処理するプロセスがハングアップした場合でも、キューに追加されたメッセージはシステムの回復後に引き続き処理できます。

(3) バッファリング
これは、システム内のデータ フローの速度を制御および最適化し、プロダクション メッセージとコンシューマ メッセージの処理速度が一貫していない問題を解決するのに役立ちます。

(4) 柔軟性