UIからAJAX呼び出しを行おうとしています。これは、いくつかの条件に基づいてDBを更新するための非同期プロセスを開始するだけです。使用するのは良いですか:
- Spring AsyncTaskExecutor
- FutureTask
- 引き金
または、これを行う他のより良い方法はありますか?
UIからAJAX呼び出しを行おうとしています。これは、いくつかの条件に基づいてDBを更新するための非同期プロセスを開始するだけです。使用するのは良いですか:
または、これを行う他のより良い方法はありますか?
あなたの要件を知らなければ、それを伝えるのは難しいですが...:
スケーリングを計画している場合は、次のいずれかを使用します。
TaskExecutor 別名 Java ExecutorService の問題は、本質的にメモリ内の JVM キューが可変であることです (それに渡された呼び出し可能/実行可能は状態を持つことができ、可変にすることができます)。または、それを置くより良い方法は、キュー内のメッセージ自体を実行することです。
ExecutorService を使用すると、サーバーがダウンしてメッセージがキューに入っている場合に、メッセージにさようならを言うことができます。もちろん、メッセージを他のプロセスと共有することはできません。
一方、ExecutorService の代わりにAkkaとRabbitMQを使用すると、本質的に「イベント」ベースであるため、より優れた抽象化が提供され、スケーリングが容易になります。メッセージの動作はデータから分離されています。
あなたのDBを知らなければ、「トリガー」は悪い考えだとしか思えません。
これは重要な質問だと思います。なぜなら、これをあらゆる場所で (非同期の動作と状態を組み合わせて) 間違った方法で行うと、切り替えが非常に困難になる可能性があるからです。