3

現在、ユーザーが1つ以上のメールアカウントに登録して、メールを自動的に分類できるようにするアプリケーションに取り組んでいます。フロントエンドはRubyを使用して実装されていますが、バックエンド(メール分類子)はJavaで記述されており、WEKAAPIを使用しています。問題は、フロントエンド(Rubyで記述されたWebインターフェイス)とバックエンド(Javaで記述された電子メール分類子)をスケーラブルな方法(多数のユーザーを同時に処理する)で統合するにはどうすればよいかということです。

4

3 に答える 3

1

メール分類子とは何かわかりません。しかし、同様の問題では、Java サービス用の RESTful API を作成することをお勧めします。これは、適切なツールを使用して非常にエレガントに行うことができます。API は、JSON を返す HTTP 経由である必要があります。JSON にシリアル化するJacksonのようなライブラリを使用します。

Ruby 側では、その JSON を簡単に解析して逆シリアル化できます。

HTTP 呼び出しはステートレスであり、すでにスケーラブルであるため、これは非常にスケーラブルなソリューションです。糸は使って捨てる。さらにパワーが必要な場合は、マシンを追加してください。

Rails アプリは、一部の呼び出しのキャッシュを開始することもできます。しかし、それは時期尚早の最適化です。

ロジックがなく、共通のデータベースしかない場合は、その共通のデータベースを 2 つのアプリ間で共有します。しかし、Java アプリは何らかの作業を行う必要があるようです。これは、API の一般的なアプローチです。また、Ruby に限定されません。AJAX または JSON を理解できるその他のクライアント用の JSONP サービスを作成できます。

于 2012-05-05T22:24:43.777 に答える
0

分類器のトレーニングに使用するデータの量が増えるにつれて、アンサンブルアルゴリズム(n個のノードのグループがアンサンブルを形成する)を使用して、トレーニングデータをn個のノードのそれぞれに分割したい場合があります。 。

新しいデータポイントを分類するには、投票システムを使用して、n個のノードのそれぞれが新しいデータポイントを分類する対象に「投票」することができます。投票数が最も多い分類が優先されます。

于 2012-09-27T18:51:51.100 に答える
0

新しい電子メール アラートが必要な場合は、公開している RESTful API を逆にするだけです。Java アプリを RESTful API として公開する代わりに、Rails アプリ API を公開します。たとえば/user/ID/newmail

Java アプリは、新しいメールが届くと Rails アプリを呼び出します。

ところで:

何千ものメール アカウントをチェックするためのスケーラブルなシステムを Java でどのように実装しましたか?

于 2012-08-23T09:07:29.600 に答える