タグ

q4mに関するryshinozのブックマーク (11)

  • ウノウラボ Unoh Labs: 「ちわさん、奥さんが来ましたよ」

    「え!?が会社に!?」と一瞬戸惑いましたが奥一穂さんでした。 別にが会社に来てもやましいことなど何もありませんが、こんちには、ちわです。こんにちわ。 以前の記事でもご紹介した通り弊社が提供しているまちつく!というサービスでは Q4M 0.9.0 を利用して地図の画像生成Amazon S3 への転送を行っています。 その Q4M に障害が発生し弊社ではどうも解決できそうにないので Q4M の作者の奥一穂さんに相談させてもらいました。 その際は、デッドロックのバグを踏んでいる可能性があるので Q4M を 0.9.1 以上のものしてみてはどうかと返答を頂きました。 弊社では 64bit 環境であった為、0.9.2 は除外され、0.9.3 は新しすぎるので 0.9.1 を採用することにし、バージョンアップ後に障害もなく安定稼働を続けています。 そんな経緯もありまして、先日弊社に奥一

    ryshinoz
    ryshinoz 2010/06/25
  • MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログ

    はじめに この記事では、MySQL を使って簡単なメッセージキューを手軽に実装する方法を解説します。 メッセージキューとは、メッセージを一時的に溜めておき、順次処理するための仕組みです。迅速なレスポンスが必要な Web アプリケーションにおいて、時間のかかる処理を非同期に行うために、バックグラウンドで順次処理していくような場合に利用できます。 簡単なメッセージキューと言っても、大規模な運用にも耐えられる程度の速度と堅牢性を持ちます。 また、ここで解説している方法で作られたメッセージキューは、弊社ウェブサービスであるニコニコ動画に最近追加されたtwitter連携機能でも利用しています。 メッセージキューを作るにあたって 今回実装するメッセージキューは メッセージの追加(push)を高速に行う事ができる メッセージの取得(pop)はある程度高速に行う事ができる 多くのクライアントから同時に p

  • レプリケーションとQ4Mを使う - JPerl Advent Calendar 2009

    レプリケーションとQ4Mを使う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? レプリケーションを使う MySQL にはレプリケーション機能があるのはとても知られている事です。 レプリケーションの無い MySQL は、ブラウン管の無いブラウン管テレビくらいの物でしょう。 そして ORM でも切っても切れない物では無いでしょうか。 Data::ObjectDriver でも livedoor のどっかのサービスで自作 Driver 書いて使ってるとか DBIC の世界でも DBIx::Class::Storage::DBI::Replicated なんて物があるようです。 もちろん Data::Model でも対応しています。 Driver::DBI::MasterSlave です。 Driver::D

  • ウノウラボ Unoh Labs: Q4Mを触ってみる

    yukiです。そろそろクリスマスですね。みんな浮かれていればいいと思います!最近急に目が悪くなって、ツリーの赤色電球と居酒屋の赤提灯の色が判別出来なくなってきました。嘘です。 今回は、みんな大好きメッセージキュー、Q4Mを触ってみた感想を今更ながらレポートします。 公式ページはこちらhttp://q4m.31tools.com/ Q4Mはサイボウズラボの奥 一穂氏が開発されており、MySQLの5.1以上でストレージエンジンとして利用できるメッセージキューで、MySQLプラグインとしてGPLライセンスで配布されております。 特長 MySQLのストレージエンジンとして利用できるので、テーブル作成時にストレージエンジンを指定するだけで利用できます。 CREATE TABLE hoge ( ... ) ENGINE = QUEUE キューの作成(enqueue)は通常のレコード操作と同様にINSE

  • MacPortsのMySQLにQ4Mをインストールする方法

    皆さん、こんばんは。笹亀です。 日はブログを書くために環境をつくっているときに、間違えてMacPortでインストールしたものを削除してしまいました;; 悲しさとむなしさと戦いながらも日のブログをお届けさせていただきます。 ※そのため、内容はちょっと少なめになっています。ごめんなさい 今年のPHPカンファレンスでもQ4Mの発表があり、いつか使う日が来るだろうと思い、 個人的にもとても興味があったので実際に使ってみたいくなりました。 Q4M (Queue for MySQL) は MySQL 5.1 のプラガブル・ストレージ・エンジンとして動作するメッセージキューであり、堅牢・高速・柔軟であるよう設計されています。(転載させていただきました 早速インストールをと思ったのですが、上記のこともあり、今回はインストールのみの紹介です。 特にMacPortsでMySQLをインスールしていて、そのM

    MacPortsのMySQLにQ4Mをインストールする方法
  • Q4MとFlareを使ってスケーラブルなサービスを作る! / 漢祐介(nowel), hata phpcon on USTREAM. Conference

    Not rated yet. You must be logged in to rate this video.

  • q4m の queue_wait, queue_end の動作を小変更 - kameidの備忘録 - Sharpen the Saw!

    現状の queue_wait はオーナーモードで呼び出した時に、勝手に queue_end が走るようになっている。また、queue_end は非オーナーモードでも何度でも呼べる。 よく考えられた仕様なのだが、私が若干特殊な使い方をしようとしていることもあって、queue_wait 時に勝手に queue_end してもらいたくない。要するにオーナーモード時は queue_wait してほしくないということだ。また、queue_end もオーナーモードだけで実行出来てほしい。 ※ ちなみに、今自分がオーナーモードに居るかどうかは、 select queue_rowid(); で確認できる。オーナーモードでないと、このSQLはエラーになる。 で、queue_wait, queue_end の動作を上記のように変更する簡単なパッチを作成した。対象バージョンは 0.8.4。 使い方は、q4m の

    q4m の queue_wait, queue_end の動作を小変更 - kameidの備忘録 - Sharpen the Saw!
    ryshinoz
    ryshinoz 2009/04/18
  • Prioritized Subscription 時の Q4M の動作 - kameidの備忘録 - Sharpen the Saw!

    複数のキューの中で、データのあるものを探して取って来る Q4M の便利機能。 mysql> SELECT queue_wait('high_priority_table', 'low_priority_table', 10); これのこと。 エラーキューとしてウチでは使おうと思っているが、これの動きに若干癖があったのでメモっとく。 まず、この書き方をするときは、タイムアウト指定が必須。 select queue_wait('a', 'b'); こういう書き方をすると、a テーブルの中身しか見てくれない。 select queue_wait('a', 'b', 60); のようにタイムアウトを必ず指定する。(上の例だと60秒) ちなみに、これはチュートリアルにも書いてある。 若干??になったのが、 チュートリアルの一番上に書いてある「一番簡単なq4mの使い方」の例 SQL mysql> SE

    Prioritized Subscription 時の Q4M の動作 - kameidの備忘録 - Sharpen the Saw!
    ryshinoz
    ryshinoz 2009/04/18
  • q4m にまつわる適材適所 - kameidの備忘録 - Sharpen the Saw!

    サイボウズ奥さん作の q4m を職場で提案。 jdbc で接続するのはちょっと・・・という意見が出たので、一個ラッパーを挟むことにして、無事職場で導入されそうだ。 ラッパーは apache の mod で作成した。単純にキュー投入リクエストを受け取り q4m に投入するだけの簡単なもの。とはいえ内部で mod_dbd を使用したコネクションプーリングも行い、(apache 上で動作させているため)ログ出力等の周辺機能もプラガブルに追加、変更可能だ。apache を使わずこれらを作り込むのは結構大変だ。 これでキューへのデータ投入に関しては単純な http リクエストで行えるということになる。 php でも servlet でも cgi でも簡単に作れるこの機能をあえて apache の mod で作成したのは、パフォーマンスを一番期待できるのではと考えてのこと。ラッパーがボトルネックになる

    q4m にまつわる適材適所 - kameidの備忘録 - Sharpen the Saw!
  • YappoLogs: Q4MをMacPortsのMySQL環境に入れる方法

    Q4MをMacPortsのMySQL環境に入れる方法 macportsでmysql入れると /opt/local/lib/mysql5/mysql とかいう独創的な所にライブラリが入るので、そのまんまのQ4Mのconfigureじゃ./configureすら上手く動かないし、ググっても良くわからないのでてっとり早くconfigure.inを書き換えたよ。 パッチはhttp://gist.github.com/94339から 実行令とかは下記の通り。 $ patch < ../for-macports.patch $ autoconf # include ディレクトリを追加するのが必要 $ CPPFLAGS=-I/opt/local/include ./configure --with-mysql=/opt/local/var/macports/sources/rsync.macports.

  • mixiの年末年始対策 日記投稿システムの改善 - mixi engineer blog

    朝晩冷えてきましたね。風邪など引いていませんでしょうか。さて、年末が近づいてくるこの時期に弊社のエンジニアが最も気になるのは、お正月。それも来年1月1日を迎えた瞬間です。 1日1日0時に何があるのでしょう?そう、mixiのサービスで最も日記が書き込まれるタイミングになるのです。個人的に「あけおめことよろアタック」と呼んでいます。今年は日記だけではなく、エコーでもメッセージが飛び交うことでしょう。この時期は携帯電話のキャリアでもさまざまな対策を行っていますが、ミクシィでも年末年始でもユーザの方に快適にサービス提供ができるように努めています 以下は昨年の年末年始の日記投稿数の推移です。青色が12/31から1/1、赤色が1/1から1/2になります 1/1の方が全体的に多いですが、特に年が変わる前後の投稿数は倍近くなっていることがわかります。この時に負荷により日記の投稿がしづらい状態になっていたの

    mixiの年末年始対策 日記投稿システムの改善 - mixi engineer blog
    ryshinoz
    ryshinoz 2008/12/12
    非同期部分がいい感じでかっちょいい
  • 1