タグ

2010年3月6日のブックマーク (7件)

  • ネットワークプログラムのI/O戦略 - sdyuki-devel

    図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

    ネットワークプログラムのI/O戦略 - sdyuki-devel
  • 非同期プロトコルのクライアント - sdyuki-devel

    非同期プロトコルとは、サーバーから返ってくる応答が、必ずしも要求した順番通りに返ってこないプロトコル(ソース無し。オレオレ定義)。 順不同で返ってくる応答と要求を対応づけるのはクライアントの仕事で、典型的には要求の中にシーケンス番号を入れておき、サーバーは要求と同じシーケンス番号を応答の中にも含める。 例:MessagePack-RPC 非同期プロトコルの特徴: イベント駆動型のサーバーの場合、サーバーの実装が簡単になる 同期プロトコルだと順番を揃えてから返さないといけない。サーバーの実装が(要求1つに対してスレッドを割り当てて処理するのではなく)ソケット1つに対してスレッドを割り当てて処理する方式だとあまり関係なくて、特に実装は簡単にならない。 処理が重い要求と軽い要求を続けて送っても、重い要求に詰まって後の応答が返ってこなくなることが無い 同期プロトコルだと、応答を送り返すにはその前の

    非同期プロトコルのクライアント - sdyuki-devel
  • 第5回 SQLで木構造を扱う~入れ子集合モデル (2)入れ子集合モデルにおける検索 | gihyo.jp

    入れ子集合モデルにおける検索 ルートとリーフを求める まず入れ子集合の検索で基となる考え方を理解しましょう。それは「包含関係を調べる」ことです。 たとえば、ルート(ここで言う足立社長)とリーフ(猪狩、木島氏ら)を求めることを考えます。リーフの円は、自分の中に下位の円を一つも含まないという特性を持ちます。したがって、NOT EXISTSによって表現できます(リスト1、図5⁠)⁠。 リスト1 リーフの円を求める SELECT * FROM OrgChart Boss WHERE NOT EXISTS (SELECT * FROM OrgChart Workers WHERE Workers.lft > Boss.lft AND Workers.lft < Boss.rgt); 図5 リスト1の実行結果

    第5回 SQLで木構造を扱う~入れ子集合モデル (2)入れ子集合モデルにおける検索 | gihyo.jp
  • ジョブキューサーバ Gearmand を PHP から使ってみた - KAYAC Engineers' Blog

    もうすぐ子供が生まれます。春菜です。 今やってるプロジェクトで新機能追加を検討していて、Perl で有名な「TheSchwartz のようなジョブキューシステムとか試してみたいなぁ。」 なんて話してたらちょうど弊社 村瀬 が社内 TIPS 会で Gearmand について話してたので使ってみました。 Gearmandって何? 元々は Perl で書かれたジョブキューシステムで、つい最近 C でリライトされたようです。 クライアントライブラリとして CPAN はもちろんのこと、PHPPython などたくさん用意されていて活発的に活動されているみたいです。(期待大!!) PHP では PECL と PEAR のクライアントライブラリが利用でき、家サイトでも PHP のサンプルが多く紹介されていてそのまま試す事ができて楽チンです。 インストールと起動 ローカルの Mac にインストール

    ジョブキューサーバ Gearmand を PHP から使ってみた - KAYAC Engineers' Blog
  • Flickrをエクスプローラに統合する·Flickr Drive shell extension MOONGIFT

    Flickr Drive shell extensionはWindows Vista以上向けのフリーウェア(ソースコードは公開されている)。写真をFlickrにアップロードして管理しているなら、ローカルにあるアップロード前の写真は不要になる。削除してしまっても良いが、手元にないのは不安で…という心理的な問題でとっておく人もいるだろう。 外部ドライブのようにFlickrをマウントする そんな方に試してみてもらいたいのがFlickr Drive shell extensionだ。このソフトウェアはFlickr上にある写真をまるでローカルのファイルと同様に扱うことができるのだ。エクスプローラに統合され、外部ドライブのようにFlickrの写真を見られるようになる。 タグ検索に対応しており、検索したいワードをフォルダ名にすると検索結果が画像になって表示される。サムネイル表示にも対応しており、まるでロ

    Flickrをエクスプローラに統合する·Flickr Drive shell extension MOONGIFT
  • EC2上でMySQL Multi-masterフェイルオーバー - stanaka's blog

    EC2上では、仮想IPアドレスなどのIPレベルの機能が制限されているため、仮想IPアドレスを使用した冗長化は基的には使用できません。が、DNSを使用することで、VIPほどの精度は高くないもののMySQL Multi-master構成を構築することができました。 今回は、MySQL Multi-masterの切り替え用の支援ツールとして、Multi-Master Replication Manager for MySQLを使用します。このツールでは、MySQLの死活監視と仮想IPアドレスの切り替えを行ってくれます。 もちろん、EC2上では仮想IPアドレスは使えないので、そのままではうまく動作しません。ここで、このツールに含まれるns_agentを使用することで仮想IPアドレスではなく、DNSによる切り替えができるようになり、EC2上でMulti-masterを構築することができます。 今回

    EC2上でMySQL Multi-masterフェイルオーバー - stanaka's blog
  • AmazonのMySQLホスティングサービス RDSの利点と欠点 - KAYAC Engineers' Blog

    こないだ初めてスノボ体験しました。agoです。 弊社ではAmazon Web サービスを利用してmixi、モバゲーアプリを提供していますが、その中でも今日はRDS(MySQLホスティングサービス)の利点と欠点を紹介したいと思います。 利点 設定が容易 my.cnfを設定せずとも各instance classに合わせて各種パフォーマンス項目が設定済みのため、設定を変更せずとも使用開始時からある程度の性能を出すことが可能です。 AWSSecurity Groupsと連携できる EC2 instanceはサーバ負荷によって台数が増減するため、通常のIP制限では台数を変更するたびに制限するIPを変更する必要があります。 これに関しては通常のEC2 instanceでMySQLサーバを立てるときにも専用のSecurity Groupを用意することで連携は可能ですが、RDSの場合、RDSを使用してい

    AmazonのMySQLホスティングサービス RDSの利点と欠点 - KAYAC Engineers' Blog