Agile Cat — in the cloud

Mollom アーキテクチャは、毎秒 100回のリクエストを発行し、3億 7300万のスパムを退治する

Posted in AI ML, Big Data, NoSQL by Agile Cat on February 18, 2011

Mollom Architecture – Killing Over 373 Million Spams At 100 Requests Per Second
transparentTUESDAY, FEBRUARY 8, 2011 AT 12:18PM
http://highscalability.com/blog/2011/2/8/mollom-architecture-killing-over-373-million-spams-at-100-re.html

_highscalability

Mollom is one of those cool SaaS companies every developer dreams of creating when they wrack their brains looking for a viable software-as-a-service startup. Mollom profitably runs a useful service—spam filtering—with a small group of geographically distributed developers. Mollom helps protect nearly 40,000 websites from spam, including one of mine, which is where I first learned about Mollom. In a desperate attempt to stop spam on a Drupal site, where every other form of CAPTCHA had failed miserably, I installed Mollom in about 10 minutes and it immediately started working. That’s the out of the box experience I was looking for.

成長していく SaaS スタートアップについて熟考するとき、すべてのデベロッパーが夢見るようなクールな企業が Mollomある。 Mollom は、有用なスパム・フィルタリング を、地理的に分配されたデベロッパーによる小規模なグループと共に、有益性のあるサービスとして実現している。 Mollom から最初に学んだことは、約 40,000 の Web サイトをスパムから守り、その中に私のサイトも含まれていることであった。私は Drupal サイトでスパムを退治しようと、他の CAPTCHA フォームを用いたが、その全てが惨敗した。 しかし、Mollom 10分でインストールすると、直ちに機能し始めた。 私が探していたのは、この、直ちに機能するエクスペリエンスだった。

5426183775_6b4d1eb673_m

From the time Mollom opened it’s digital inspection system they’ve rejected over 373 million spams and in the process they’ve learned that a stunning 90% of all messages are spam. This spam torrent is handled by only two geographically distributed machines that handle 100 requests/ second, each running a Java application server and Cassandra. So few resources are necessary because they’ve created a very efficient machine learning system. Isn’t that cool? So, how do they do it?

Mollom のデジタル走査システムをオープンしたときから、3 億 7300 万以上のスパムが除去されたが、そのプロセスにおいて、全メッセージの 90% がスパムであるという、衝撃的な事実が学習された。 このスパムの奔流は、地理的に分散され、秒間で 100 リクエストを処理する、たった 2台マシンにより処理される。 そして、それらのマシンでは、Java アプリケーション・サーバーと、Cassandra が運用されている。 彼らは、その程度のリソースしか要求しない、きわめて効率的な機械学習システムを開発している。 とてもクールでしょう? そして、その方式を探ってみたくないか?

To find out I interviewed Benjamin Schrauwen, cofounder of Mollom, and Johan Vos, Glassfish and Java enterprise expert. Proving software knows no national boundaries, Mollom HQ is located in Belgium  (other good things from Belgium: Hercule Poirot, chocolate, waffles).

そのために、Mollom の創業者である Benjamin Schrauwen と、 Glassfish および Java Enterprise のエキスパートである Johan Vos に、インタビューを試みた。 Mollom HQ は Belgiumエルキュール・ポアロチョコレートワッフルが有名)に所在し、ソフトウェアには国境が存在しないことを証明している。

Statistics

  • Serving 40,000 active websites, many of which are very large customers like Sony Music, Warner Brothers, Fox News, and The Economist. A lot of big brands, with big websites, and a lot of comments.
  • Find 1/2 million spam messages each day.
  • Handle 100 API calls/second.
  • A spam check is low latency, taking between 30-50msecs. The slowest connection would be 500msec. The 95th percentile of latency is 250msecs. It’s really optimized for speed. 
  • Spam classification efficiency is at 99.95%. This means that only 5 in 10,000 spam messages were not caught by Mollom.
  • Netlog, which is a social networking site in Europe, has their own Mollom setup in their own datacenter. Netlog handles about 4 million messages a day on custom classifiers that are trained on their data.
  • 40,000 のアクティブな Webサイトに対して、サービスを提供する。そこには、Sony Music や、Warner Brothers、Fox News、The Economist といったビッグ・ブランドがいる。それぞれが、大規模な Web サイトであり、膨大なコメント抱える。
  • 毎日、500,000 のスパム・メッセージが発見される。
  • 秒間で、100 回の API コールを処理する。
  • スパム・チェックは、30-50 msec という、きわめて低いレイテンシーで処理される。 最も遅いコネクションで、500 msec となる。レイテンシーの 95 パーセンタイルは、250 msec となる。 つまり、スピードに対して最適化される。
  • スパムの分類効率は、99.95% である。 つまり、Mollom にり検知できないスパムは、5/10,000 となる。
  • ヨーロッパのソーシャル・ネットワークである Netlog は、自身のデータセンター内で、自身で設定した Mollom を用いる。そして、自身のデータに合わせたカスタムな  classifiers を用いて、1日あたり 400 万メッセージを処理する。

Platform

  • Two production servers run in two different datacenters for failover. 
    • One server is on the East coast and one is on the West coast. 
    • Each server is an Intel Xeon Quad core, 2.8GHz, 16GB RAM, 4 disks of 300 GB, RAID 10.
  • SoftLayer – the machines are hosted by SoftLayer.
  • Cassandra – a NoSQL database selected for it’s write performance and ability to operate across multiple datacenters. 
  • Glassfish – open source application server for the Java EE platform. They picked Glassfish for it’s enterprise ready features like replication and failover.
  • Hudson – provides for continuous testing and deployment of the backend across all their servers.
  • Java – From the start Mollom was written in Java.
  • Munin – used to measure and plot metrics concerning server health.
  • MySQL – JPA (The Java Persistence API) is used for regular data sets and Cassandra is used for large data sets.
  • Pingdom – used for uptime monitoring.
  • Zendesk – used for support.
  • Drupal – used for the main website with a custom E-commerce module.
  • Unfuddle  – Subversion hosting used for source code control by their distributed development team.
  • 2 台の運用サーバーが、フェイルオーバーのために、2つのデータセンターで稼働する。 
    • 1 台のサーバーが東海岸で、もう1台が西海岸に配置される。
    • それぞれのサーバーのスペックは、Intel Xeon Quad/2.8GHz/16GB RAM/4 disks of 300 GB/RAID 10 である。
  • SoftLayer – それらのサーバーをホストするデータセンター。
  • Cassandra – 書込みの性能と、マルチ・データセンターのために選択された NoSQL。
  • Glassfish – Java EE プラットフォーム用の OSS アプリケーション・サーバー。りプリケーションやフェイルオーバーといった、エンタープライズ用の機能が、その選択の理由。
  • Hudson – すべてのサーバーを横断するかたちで、継続的なテストとデプロイメントを実現。
  • Java – 当初から、Mollom は Java で記述されている。
  • Munin – サーバーに関する、measure and plot metrics に使用。
  • MySQL – 一般的なデータセットのために JPA (The Java Persistence API) を使用し、また、大規模データセットには Cassandra を使用。
  • Pingdom – アップ・タイムのモニタリングのために使用。
  • Zendesk – サポートのために利用。
  • Drupal – メインの Web サイトと、カスタムな E-commerce モジュールとして利用。
  • Unfuddle  – 地理的に分散された開発チームにより、ソースコードを管理するために用いられる、サブバージョン・ホスティング。

What Is Mollom?

Mollom is a web service for filtering out various types of spam from user generated content: comments, forum posts, blog posts, polls, contact forms, registration forms, and password request forms. Spam determination is not only based on the posted content, but also on the past activity and reputation of the poster. Mollom’s machine learning algorithms act as your 24×7 digital moderator, so you don’t have to.

Mollom は、ユーザーが生成する各種のコンテンツから、スパムを除外するための Web サービスである。 それらのコンテンツには、コメントおよび、フォーラム・ポスト、ブログ・ポスト、ポール、コンタクト・フォーム、レジストレーション・フォーム、パスワード・リクエスト・フォームなどがある。 スパムの認定は、ポストされたコンテントだけではなく、ポストした人物の過去のアクティビティや頻度などに基づく。 Mollom の機械学習アルゴリズムは、デジタル仲介者の役割を 24×7 で務め、その処理からユーザーを解放する。

ーーーーー

なんというか、Mollom ってすごくカッコ良いですね。 また、ITの ビジネスが急速に様変わりするという予測が、すでに現実のものとなっている状況が分かります。 Cassandra も上手く使われているみたいで、ともても面白い話ですね。ーーー __AC Stamp 2

ーーーーー

<関連>
Google Megastore – 1日で 30億 Write/200億 Read のトランザクションを実現
Facebook は 20分間で、2.7M Photos/10.2M Comments/4.6M Messages を処理する!
Web デベロッパーが知っておくべき、15種類の オープンソース・プロジェクト

3 Responses

Subscribe to comments with RSS.

  1. […] This post was mentioned on Twitter by Agile Cat, Takapyonuoʎdɐʞɐʇ. Takapyonuoʎdɐʞɐʇ said: Mollom アーキテクチャは、毎秒 100回のリクエストを発行し、3億 7300万のスパムを退治する [ #cloud #cloudcomputing #nosql #cbajp #cloudjp ]:… http://bit.ly/hf0hVO – Agile Cat […]

  2. sugipooh said, on February 18, 2011 at 8:48 am

    Mollom ってすごくカッコ良い!! ドコモのiModeもスパムが全体の90%を越えているようで、クラウドを支える事業者はいつもスパムと戦っています。

  3. Agile Cat said, on February 18, 2011 at 9:11 am

    コメントを、有難うございます。 なんか、Cassandra もハマっている感じがしますね。
    Agile_Cat


Comments are closed.

%d bloggers like this: