私はちょうどカフカを学び始めました。ソーシャルメディアWebアプリケーションを構築しようとしています。私は、バックエンド(バックエンドからデータベースやその他のサービスへの通信)にKafkaを使用する方法についてかなり明確です。カフカブローカーに直接生産しているWebフロントエンドは実行可能なアイデアですか?
しかし、フロントエンドとバックエンドとの通信方法はわかりません。私はアーキテクチャを次のように考えていた:フロントエンド - >カフカ - >バックエンド。
フロントエンドはコンシューマとしてプロデューサおよびバックエンドとして機能します。この場合、フロントエンドはKafkaブローカーに公開するために必要なすべてのリソースを持っていると思われます(たとえ私がKafkaにセキュリティを実装していても)。今、このシナリオが可能です:
私はフロントエンドを偽装し、私のカフカブローカーに馬鹿げた/無効なメッセージを送信することを言います。これらのメッセージがバックエンドに到達すると、これらのメッセージを処理してフィルタリングできるようになりました。しかし、私はカフカがこれらのメッセージを一時的に保存することを知っています。そのような「偽の」メッセージが大量に公開されていると、私のKafkaサーバはDDOSの問題に直面しないでしょう。なぜなら、バックエンドによって実際に消費されるまでフィルタリングされないので、
もしそうなら、どうすればこれを防ぐことができますか?
これは良い選択ではありませんか?フロントエンド/バックエンド通信にRESTを使用することもできます。その後、Kafkaはバックエンドからデータベースやその他のものと通信するために使用されます。
また、このようなメッセージを検出してフィルタリングするミドルウェア(REST)もあります。
気をつけてください理由を説明するためにdownvote?これは本物の質問ですが、私は多くの研究をしても答えを見つけることができません。この質問を改善するために他に何ができますか? – user3271166
必要に応じてヘルプセンターで概説されているように、特定のプログラミング問題について具体的な質問をしていないので、おそらく下落し、閉鎖に投票しました。これは非常に幅広く、あなたが現在やっていることの明確な概要がない意見を求めています。これは、この事実に基づいたプラットフォームでは許可されていません。これが週末の遅くの夜でなければ、私は今までに閉鎖されていたと確信しています。 – Rob
私が尋ねたのは、「フロントエンドがプロデューサーとしてカフカにメッセージを投稿した場合、どのようにして不要なDDoS攻撃などを防止するのか?どのように幅広いのかは分かりませんが、将来的にはより良い言葉を試してみます。 – user3271166