2016年5月2日のブックマーク (5件)

  • AWSでジョブWorkerを構成するベストプラクティス 〜 Beanstalk worker tierの巻 | DevelopersIO

    よく訓練されたアップル信者、都元です。先日、AWSでジョブWorkerを構成するベストプラクティス 〜 SQSの巻として、SQSを使ったスケーラブルなジョブWorkerアーキテクチャをご紹介しました。人間相手のHTTPリクエストの間に完了させるには長すぎるジョブを実行したい場合は、とりあえずSQSに投げて非同期に処理させよう、という仕組みです。 投げる側は、Javaであればこんな感じですね。キュー毎にURLがあるのでそれを指定して適当なメッセージ(来はJSONなんかが良いんだと思います)を投げ込みます。 sqs.sendMessage(new SendMessageRequest(QUEUE_URL, "foobar")); Worker側としては、こんな感じでメッセージを受信しては処理して削除、というのを繰り返せばよいです。 while (true) { ReceiveMessageR

    AWSでジョブWorkerを構成するベストプラクティス 〜 Beanstalk worker tierの巻 | DevelopersIO
    yutaro54
    yutaro54 2016/05/02
    elasticbeanstalkでジョブワーカーを作るサンプル
  • 検索エンジンはいかにして動くのか?:第3回 転置索引とは何か?|gihyo.jp … 技術評論社

    はじめに 前回までは、検索エンジンの概要を見てきました。今回からは、全文検索の中核となる索引構造について見ていきます。 第1回の復習になりますが、全文検索には主に2種類の方法がありました。検索したいデータに対して前処理をせず、検索時に文書を走査するgrep型と、あらかじめ索引を作っておいて検索時にその索引を利用する索引型です。今回から数回にわたり、索引型において最も普及している転置索引という索引構造について解説していきます。 転置索引とは さて、転置索引とは何なのでしょうか? 身近な所で例にあげると、書籍(専門書など)の巻末にある索引は、における転置索引といえます。巻末には通常、キーワード(単語)とそのキーワードが出てくるページが記載されています。キーワードはアイウエオ順やアルファベット順に並べられているので、探したいキーワードを簡単に見つけることができ、そのキーワードがどのページで言及

    検索エンジンはいかにして動くのか?:第3回 転置索引とは何か?|gihyo.jp … 技術評論社
    yutaro54
    yutaro54 2016/05/02
    転置インデックスに関する解説
  • クローラを生まれ変わらせるにあたっての思考 - かれ4

    Advent Calendar 2015の13日目の記事です。 今うちで動いているCrawlerは数年前に作られたもので、 仕組みとしてはAzureのService Fabricの上でAWSLambdaを動かしているのと似たアーキテクチャになっている。 そろそろ生まれ変わりの頃かなと思う。 生まれ変わるにあたって、これからのアーキテクチャをどうしようかと悩むわけだけど、 そんな時には過去に遡っていくと次時代へのヒントが転がっていることがよくある。 特に、過去に敗北した素晴らしいアーキテクチャが今の技術であれば一般時にも実現可能になっていたりする。 昔話 昔々世界にはInktomiという会社と AltaVistaという会社があった。 Inktomiという会社はソフトウェア開発会社で、2002年に米Yahoo!に買収されている。 AltaVistaは検索エンジンの会社だったが、2003年にO

    クローラを生まれ変わらせるにあたっての思考 - かれ4
    yutaro54
    yutaro54 2016/05/02
    多分クローラーのアプリケーションアーキテクチャーについて書かれたやつ。
  • DynamoDBの導入とDynamic DynamoDBを用いたプロビジョニング量自動調整 - ZOZO TECH BLOG

    こんにちはVASILYエンジニアの松です。VASILYではクローラーの仕組みを大幅に見直した際にDynamoDBの導入を行いました。今回はその導入方法とDynamic DynamoDBを用いた運用方法について話したいと思います。 DynamoDBを導入した理由 iQONではクローラーで取得したデータをDynamoDBに保存しています。DynamoDBを導入した理由は以下の通りです。 ・ ECサイトごと、さらには商品ごとにクロールするデータの形式が異なるためスキーマレスである必要があったこと。 ・ DynamoDBはデータベース容量が増大した際も自動でスケールしてくれるのでメンテナンスコストがかからないこと。 ・ 平均レイテンシーは1桁台のミリ秒単位であること。 iQONでは1日約80万点のアイテムをクロールしているので、メンテナンスコストがかからず、ある程度のパフォーマンスが担保できるこ

    DynamoDBの導入とDynamic DynamoDBを用いたプロビジョニング量自動調整 - ZOZO TECH BLOG
    yutaro54
    yutaro54 2016/05/02
    クローラーでdynamoを使うときの情報
  • AWSでクローラを動かす時のアーキテクチャを考える - Qiita

    はじめに AWS上でクローラを動かしたいときがある。 様々な選択肢があると思われるが、とりあえず思い付いたアーキテクチャ(構成)を書く。 どの構成が良いとかは不明(もっと良いアーキテクチャあると思う)。良し悪しの基準の定義がめんどいからとりあえず書く。 クローラについて ここでは、クローラとは「webページからデータを取得し、それを構造化するプログラム」と定義する クロール対象について 何かしらの「物」(洋服、べ物、不動産etc)を閲覧できるwebページ 「物」の一覧ページと「物」それぞれの詳細ページ、という構成である 「物」を検索する機能がある(場合がほとんど) クロールの処理について クロールの処理は主に3つのフェーズがあると考えられる +------------------------------------------------------------+ | | | | |

    AWSでクローラを動かす時のアーキテクチャを考える - Qiita
    yutaro54
    yutaro54 2016/05/02
    記事内に挙げられている例の2つ目、beanstalkを使ったものを採用したい。