タグ

reactorに関するkeyesberryのブックマーク (6)

  • RailsConf 2012 Evented Ruby vs Node.js by Jerry Cheung

    While Node.js is the hot new kid on the block, evented libraries like EventMachine for Ruby and Twisted for Python have existed for a long time. When does it make sense to use one over the other? What are the advantages and disadvantages to using node over ruby? In this talk, you will learn how to get the same power of concurrency enjoyed by Node.js while continuing to write in the language you kn

    RailsConf 2012 Evented Ruby vs Node.js by Jerry Cheung
  • Get it done. One event at a time.

    Get it done. One event at a time. How I learned to stop worrying and love EventMachine. 1Friday, February 27, 2009 © 2009 AideRSS. Who Am I • Dan Sinclair (dan@aiderss.com) • AideRSS code monkey 2Friday, February 27, 2009 © 2009 AideRSS. Overview • What • Why • How • Gotchas 3Friday, February 27, 2009 © 2009 AideRSS. What is EventMachine • Reactor pattern • Protocol implementations • Thread pool

  • 【翻訳】EventMachine入門

    dan sinclairさんのEventMachineの入門記事(PDF)を翻訳しました。 原文はここからダウンロード可能です: http://everburning.com/news/eventmachine-introductions/ (翻訳の公開と画像の利用は人より許諾済みです) 翻訳・内容の間違い等があればブログコメントやTwitterなどで遠慮無くご指摘ください。 EventMachine入門 Introduction うん、これから何を学ぶことになるのか、この導入のくだりがスタート地点として役に立つと思う。EventMachine とは何だろう。そしてそれは私たちのために何をしてくれるのだろう。さて、最初の部分は簡単だね。EventMachine は Reactor パターン(*1)の高性能な実装さ。 すげえ、いや、ちょっと待て、Reactor パターンって何だ? Wiki

    【翻訳】EventMachine入門
  • IO::selectを使う:Geekなぺーじ

    普通の状態では、recvなどはデータが受信できるまでブロッキングします。 ソケットを一つしか利用していない場合にはブロッキングは非常に便利なのですが、ソケットが複数になると困ってしまいます。 シングルスレッドで複数のソケットを扱うとき、片方のソケットでブロッキングしたままになってしまうと他のソケットにデータが到着しても受信が出来なくなってしまうからです。 そのため、複数のソケットを扱っていると、どのソケットからデータが受信可能か知りたくなります。 ブロッキングとは、関数が返ってこない事を表します。 例えば、recvはデータを受信して関数が戻ってきます。 言い方を変えると、データを受信するまでブロックしています。 recvをブロッキングしないノンブロッキング方式で使う事も可能ですが、ここではブロッキング方式のまま使う方法を説明します。 そのような機能を提供するのがIO::selectです。

  • I/O待ちを緩和させるのに効果的な Reactor パターン - I am bad at math

    クラウド上で動作するプログラムを組んでいく際、スケールすることを狙って多くのロジックがデカップリングされ、複数のサーバに分散されることと思いますが、そこで顕著になってくるボトルネックの一つがネットワークなどのI/O待ちです。 このI/O待ちを減少させるのに効果的なのが Reactor パターン。 このパターン自体は特に目新しいものでもないのですが、近年のクラウドブームで再び脚光を浴びそうなので自分の備忘録もかねて紹介します。 Reactor パターン http://en.wikipedia.org/wiki/Reactor_pattern この Reactor パターンはどういった場合に使用するかというと 複数のI/O待ちが想定される場合 というのが代表格のようです。今回はネットワークI/Oを想定していますが、データベースへの問い合わせに時間がかかる際にも有用となります。 例としてクローラ

    I/O待ちを緩和させるのに効果的な Reactor パターン - I am bad at math
  • 第29回 Reactorで非同期処理をやってみよう(1) | gihyo.jp

    はじめに WebサービスAPIをコールするような、ネットワークを介した通信処理は、今日では頻繁に行われています。 ローカルマシンのみで完結する処理と比べると、通信が必要な処理は多大な時間が必要になります。相手サーバへの接続、相手サーバ側での処理、相手サーバからの受信など、何もすることなくただ待つだけの時間が存在します。 この無駄な時間の間に他の処理ができるならば、トータルの処理時間を大幅に短縮することが可能になります。これを実現するためにスレッドがよく使われています。しかしマルチスレッドプログラミングはいろいろと注意を払う点も多く、使いにくさを感じている方も多いのではないでしょうか。 今回はReactorパターンという、マルチスレッドとは違ったアプローチで非同期処理を実現してみたいと思います。 複数のwebサーバからHTML文章を取得してみる 同期処理 ひとまず非同期処理を忘れて、シーケ

    第29回 Reactorで非同期処理をやってみよう(1) | gihyo.jp
  • 1