仮想クラウドベースの目覚まし時計プロジェクトを想像してください。これにより、ユーザーは、選択した日時の繰り返しでない「起床」をスケジュールできます。このシステムは非常に大きな数に拡張する必要があります。電話回線数などのことを心配しないでください。スケジュールされたデータベースジョブのスケーラビリティ
質問:データを照会して、誰が今すぐ呼び出される必要があるかを知るにはどうしたらいいですか?スケジュールされたジョブは最良のアプローチですか、スケジュールされたジョブごとに1つのジョブがあるか、定期的に1つのジョブが起きてすべてのクエリをキャッチしますか?仕事が最善でない場合、あなたは何をしますか?
注:コードを探していません。この問題に最善のアプローチをとるためのアーキテクチャ戦略が何であるかを知りたい。
ありがとうございます!
私は分かりません。データベースを常にポーリングすると言っていますか?また、私は "無限"を "非常に大きな数"に変更する答えを編集しました。 – user6943228
タイマーが起動するたびにデータベースをポーリングするだけです。 (もちろん、アラームが追加されるたびに)データベースを常にポーリングするのとはまったく異なります。 –
ポーリングはどのような状況においても最も洗練された解決策であるとは確信していません。私はあなたの答えを投票しましたが、確信していないのは、ポーリングが非常に効率的ではないことで有名なので、これを解決するための非常に堅牢な方法です。 – user6943228