タグ

ブックマーク / hirose31.hatenablog.jp (9)

  • memcached(プロトコル)のデータレプリケーション - (ひ)メモ

    国内だけでなく国外(なぜか主に中国語)でもまだrepcachedについて言及してるのをちらほら見かけるのですが、repcachedはmemcached 1.2.8ベースですし(memcached 1.4.5に対応してる人もいるようですが)いまならKyoto Tycoon使えばいいんじゃないかと思うのです。 Kyoto Tycoonなら: memcachedプロトコルプラグインを使えば、Kyoto Tycoonがそのままmemcachedの代替になる(memcachedプロトコルを喋るクライアントコードはそのままでよい) Tokyo Tyrantと違ってexpireもOK memcachedの代替が目的なら、速いオンメモリDB(StashDBとか)でOK 非同期レプリケーションもできる ホットスタンバイ側のサーバリソースが無駄に思うなら、keyに応じてmodとかでリクエストするサーバを2台の

    memcached(プロトコル)のデータレプリケーション - (ひ)メモ
  • ncある限りぼくはどこまででもいけるッ! - (ひ)メモ

    多段SSHの話。 2008-05-02追記 ncの-w secオプションで、一定時間通信がなければncが終了するようにしました。このオプションを指定しないと、sshコネクションを切った後でもncのプロセスが残留してしまいます。 2010-03-08 OpenSSH 5.4以降のnetcat mode (ssh -W host:port ...) を使えば、ncコマンドは不要かも。 2010-11-08 zshでNo such file or directoryと言われるのは、これが原因かもhttps://bugzilla.mindrot.org/show_bug.cgi?id=1494 正攻法でこたつにアクセスするには下図のようなSSHアクセスを繰り返さなければならない、といった状況があるとする。 uchi ----> otonari otonari ----> genkan genkan

    ncある限りぼくはどこまででもいけるッ! - (ひ)メモ
    kazutanaka
    kazutanaka 2011/06/06
    多段sshの設定方法
  • フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ

    目的 フロントがHTTPリクエストを受けて、バックエンドのアプリケーションサーバにreverse proxyするような構成において、指定秒数以内に何かしらのレスポンスを返したい。 200が返せない場合は、処理を打ち切って500を返したい。 背景 フロントでApacheやNginxをreverse proxyとして使っている場合、バックエンドが無応答になってしまうと、クライアントにレスポンスが返るのはデフォルトで数十〜数百秒後(ApacheのTimeoutのデフォルトは300秒、Nginxのproxy_read_timeoutのデフォルトは60秒)になってしまいます。 通常のWebサービスではこのオーダーのタイムアウトでもいいのかもしれませんが、数秒以内に(エラーでもいいので)レスポンスを返すことが求められる環境も存在します。(最近、特に多いのではないでしょうか:P) もちろんバックエンドが

    フロント/バックのreverse proxy構成で、指定秒数以内に必ずレスポンスを返す方法 - (ひ)メモ
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ

    MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ
  • mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ

    MySQLでいちいちshow tables;とか打つのがだるい。\tみたいなalias設定できないのかなぁ http://twitter.com/weboo/status/1658300902 おぉ、readlineのマクロを使えばいいのかー http://twitter.com/weboo/status/1658314333 なるほ!ってことでちょっと設定してみました。 # ~/.inputrc $if mysql "\C-xd": "show databases;" "\C-xt": "show tables;" "\C-xu": "select user,host,password from mysql.user order by user,host;" "\C-xb": "select user,host,db from mysql.db order by user,host;"

    mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ
    kazutanaka
    kazutanaka 2009/05/31
    readlineマクロ
  • gitの中央repos運用時のパーミッションの調整 - (ひ)メモ

    gitで、bareな中央reposにpushしたい。 使うプロトコルは: http:// は遅いのでいや git:// はgit-daemon的に認証がちょっとやわそうなのでいまいち いい方法があったら教えてください>< pushする人らはsshアカウントがあるので、git+ssh:// でいいや 複数ユーザがpushするので、パーミッションに気を使わなければならない: 共通のグループ(例:sandbox)に属させて、chown -R root:sandbox sandbox.git; chmod -R g+w sandbox; find sandbox -type d|xargs chmod 2775 すればグループの統一はOK 問題は sandbox.git/objects/ 下とかに新規で作られるディレクトリのパーミッション。 ~/.bashrcでumask 002すればいいんだけど

    gitの中央repos運用時のパーミッションの調整 - (ひ)メモ
  • テキストでシーケンス図を描くツール - (ひ)メモ

    Graphvizは、 テキストで記述できて MediaWikiやTracでも使える(Graphviz Plugin) んで重宝してるんですが、同じノリでシーケンス図も描けないものかと。 Quick Sequence Diagram Editor - Summary よさげかも。 Javaアプリ テキストの記述データを受け取って画像返すサーバにもなるっぽい。(未確認) サンプル てけとーな記述をするとSemanticErrorと怒られる。 Mscgen: A Message Sequence Chart Renderer 記法がGraphvizライク。んで、シンプルでよさげかも。 サンプル ラフでてけとーななんちゃってシーケンス図的な図をささっと描くならこれがいいかもす。 Web-Based UML Sequence Diagram / MSC Generator ローカルアプリじゃなくてW

    テキストでシーケンス図を描くツール - (ひ)メモ
  • Linuxでiptablesを使ってDSRする - (ひ)メモ

    1. リアルサーバ側にもグローバルIPを振る必要がある(IPが少ないところは結構きついかも). リアルサーバでは、VIPをループバックインターフェースにIP aliasすればいいので、リアルサーバの数だけグローバルIPアドレスを消費するってことはないような。(誤読してるかも ただ、この方式だと、VIPの数だけいちいちリアルサーバにIP aliasして回らないといけないので、わりと大規模(VIPがたくさんある or リアルサーバがたくさんある)だとめんどくさいことこの上ない。 で、リアルサーバでこんなiptablesのルールを設定すれば、IP aliasしないでDSRできそうというのが主題。 VIP=10.1.1.0/24 iptables -t nat -A PREROUTING -d $VIP -j REDIRECT多分、これでいけると思うんですけどちと自信なし。検証 and 詳しい説明

    Linuxでiptablesを使ってDSRする - (ひ)メモ
  • 1