私たちの会社では、SMPP を介して、またモデムを直接使用して、さまざまなクライアントやプロバイダーに SMS を送信するための需要の高いシステムを構築しています。
システムはさまざまな要求を処理し、データベースに接続してメッセージを選択し、そのステータス (送信、受信、エラーなど) を更新します。優先度に従ってキューに入れられ、要求に応じて異なるチャネルによってリリースされる SMS を送信する要求を受け取ります。現在、さまざまなチャネルを同時に処理するスレッドを生成する必要がありますが、トランザクションが多数になる可能性があるため、システムの実行が遅くなります。
同時実行性にあまり問題がなく、サーバー プロセッサを最大限に活用できる新しいシステムの開発に関心があります。
私たちの理解では、リクエストのスレッドの処理を変更してシステムを作り直すことで、問題を解決できる可能性があります。この問題を処理するためにどのアーキテクチャ、フレームワーク、またはライブラリをお勧めしますか?最高のパフォーマンスを提供します。
現在、Java 7 Fork/Join、IBIS (MPJ、GMI、Satin)、AKKA (Actors ライブラリ) を検討していますが、これに限定されるものではありません。また、システムがアーキテクチャに縛られておらず、スケーラブルでクラウド サービスに移行できることも望ましいです。
PD: 現在のシステムは、送信するメッセージごとに 1 つのスレッドを生成し、何らかの形でスレッド プールを使用しますが、最適化された方法ではまったく使用されません。その貧弱な実装を改善することとは別に、すべてのリソース (コア、プロセッサ) を活用して全体的なパフォーマンスを改善したいと考えています。