1. ソーシャルゲーム スケールアウトの歴史 gussan@Drecom Co., Ltd. Copyright © Drecom Co., Ltd. 12年2月20日月曜日
シナップの柿内です。 最近、CloudFlareという無料で簡単に使えるCDNサービスが話題を呼んでいます。 CDN(コンテンツ・デリバリー・ネットワーク)とはコンテンツを複数地域の複数サーバーに配置し、ユーザーのリクエストに対して最適なサーバーからコンテンツを配布する負荷分散サービスです。よくオープンソースをダウンロードする時に一番近いミラーサーバーを選択してダウンロードしますが、それをユーザーの操作なしに全部自動で行ってくれると考えれば想像しやすいのではないでしょうか。 本来CDNは大規模なリクエストを円滑に処理するように生まれたサービスなので、小規模なWebサイトで導入する事はあまりありませんでした。それがCloudFlareならば誰でも(後で解説するように利用するためには簡単な条件をクリアする必要がありますが)今日にでも利用する事が可能です。しかも無料で。 同じCDNサービスである
SSL(HTTPS)の使用が前提のもと、フロントエンドでApache(mod_ssl + mod_proxy_balancer)をリバースプロキシ(兼ロードバランサ)として動かして、そのバックエンドでlighttpdやmongrelを使ってRailsアプリを動かす場合のメモ。 何も考えずにRailsアプリに対してHTTPS接続を行い、アプリ内でリダイレクト(redirect_to)を行った場合、RailsアプリはHTTPSで接続されていることを知らないため、HTTPのURLへリダイレクトしてしまいます。 これを解決するためには、フロントエンドのApacheで、HTTPリクエストヘッダにHTTPS接続であることを指定することで、バックエンドのアプリに伝わるようにします。 # ↓のリンク先を参考にさせていただきましたm(_"_)m これに必要なのは、Apacheでmod_headersが組み込
Twitterの大規模システム運用技術、あるいはクジラの腹の中(後編)~Twitterのサブシステム「Unicorn」「Kestrel」「Flock DB」 米サンタクララで行われていたWebサイトのパフォーマンスと運用に関するオライリーのイベント「Velocity 2010」の、Twitterのシステム運用について説明するセッション「In the Belly of the Whale: Operations at Twitter」(クジラの腹の中:Twitterでの運用)を紹介をしています。 この記事は「「Twitterの大規模システム運用技術、あるいはクジラの腹の中(前編)~ログの科学的な分析と、Twitterの「ダークモード」」の続きです。 Twitterのサブシステム「loony」「Murder」「memcached」 ここからはTwitterのサブシステムについて紹介しよう。 T
目的 フロントがHTTPリクエストを受けて、バックエンドのアプリケーションサーバにreverse proxyするような構成において、指定秒数以内に何かしらのレスポンスを返したい。 200が返せない場合は、処理を打ち切って500を返したい。 背景 フロントでApacheやNginxをreverse proxyとして使っている場合、バックエンドが無応答になってしまうと、クライアントにレスポンスが返るのはデフォルトで数十〜数百秒後(ApacheのTimeoutのデフォルトは300秒、Nginxのproxy_read_timeoutのデフォルトは60秒)になってしまいます。 通常のWebサービスではこのオーダーのタイムアウトでもいいのかもしれませんが、数秒以内に(エラーでもいいので)レスポンスを返すことが求められる環境も存在します。(最近、特に多いのではないでしょうか:P) もちろんバックエンドが
結論。DNSラウンドロビンという古くからある技術を取り巻く状況の変化を見過ごしている結果、負荷分散と可用性確保のために高価なロードバランサー機器を導入しているWebサイトは、実は大幅に金を無駄にしているのかもしれない。 一部の人には「今頃気がついたか」と笑われる可能性が高い話だ。 筆者が気づいたきっかけはとあるブログに書かれたこんな一節である。 あまり知られていないことかもしれませんが、DNS があるホスト名に対して複数の IP アドレスを返した場合、多くのウェブブラウザは、その全てのアドレスに対して接続を試みます (接続に成功するまで)。 Kazuho@Cybozu Labs: DNS ラウンドロビンと高可用性 (High Availability) 「えっ?そうだったの?だとすれば、、、」というのが筆者の素直な感想である。これだけでピンと来ている人はいいのだが、詳しくない人のために
先日、Brian Akerとミクシィの前坂氏によるmemcachedのセミナーがあった。 実践で使用する上での話や開発最前線の話が聴けたため、セミナーは非常に盛況であった。筆者にとっても非常に勉強になる内容だった。セミナーの資料はBrian Aker氏のサイトから入手できるのでセミナーに参加出来なかったひとはこの資料を読んで自習して頂きたい。 が、いかんせん氏のスライドはパッと見ただけではなんとなく分かりづらいように俺は思う。なぜだろうか?それはきっと図がないからだ・・・と勝手に想像する。オトコたるもの、時には勝手な憶測で突き進むのもアリだ。ちなみにBrianのスライドはほとんど要点の箇条書きになっている。これでは解説がないと、特に新規にmemcachedやMySQLを学習している人たちには分かりづらいだろう。 というわけで氏に代わり、memcachedがどのように既存の仕組みを置き換える
2009年11月27日23:58 Apache mod_proxy_balancerとmod_rewriteでバランシング Apache を使って条件付きでバランシングしたいときー。mod_proxy_balancer と mod_rewrite を使ってこんな風にしてあげればいいのかなぁ。(o゚ω゚o) RewriteEngine on RewriteRule ^/hoge(.*)$ balancer://balancer_1$1 [P,QSA] RewriteRule ^/fuga(.*)$ balancer://balancer_2$1 [P,QSA] <Proxy balancer://balancer_1> BalancerMember http://192.168.0.100:4000 loadfactor=10 BalancerMember http://192.168.0.
こんにちは。中村です。 MySQLにはMyISAM、InnoDB、CSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?
Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題 全世界で3億人を超える会員を抱え、世界最大のSNSとなったFacebook。同社の巨大なシステムは、3つのデータセンターにある約3万台のサーバと、PHP、C++、Memcache、MySQLなどのソフトウェア群によって支えられています(同社のデータセンターの巨大さは、記事「3億のユーザーを抱えるFacebookのデータセンター。移動は自転車、希望は100Gbイーサネット 」を参照)。 同社の技術担当バイスプレジデント Jeff Rothschild氏は、Facebookが実現している大規模なスケーラビリティを、いかにしてこれらのソフトウェアで実現しているのか、10月8日に米カリフォルニア大学サンディエゴ校で行ったセミナー「High Performance at Mas
mod_cluster mod_cluster is an intelligent native Apache httpd-based and pure-Java Undertow-based load-balancer GitHub Download releases Issue Tracking Documentation Discussions JBoss mailing list Drop us a line Introduction Project mod_cluster/mod_proxy_cluster is an intelligent load balancer. Like mod_jk and mod_proxy, mod_cluster uses a communication channel to forward requests from the load bal
こんにちは sato です。 ベンチャーでは高価なハードウェアバランサなどを購入することはできないですが、 apache2.2 から mod_proxy_balancerという apacheモジュールの ソフトウェアバランサが 追加されたので、フォト蔵でも使用しています。 今のところ proxy サーバがボトルネックになることはないです。 想定構成は以下とし、apacheは 2.x を使用しました。 proxy1 +------web1 +------web2 ... +------webN ・基本設定 httpd.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ProxyPass / ba
はじめまして。今年の5月に入社した勝間@さがすチームです。 入社してからは、なかなか大変なことも多いですが、最近はお酒好きが集まって月曜から飲み合う 「勝間会」なるものも発足して、仕事面でも仕事以外の面でも密度の高い毎日を過ごしています! さて、僕は「さがす」チーム所属ということで、普段はレシピを「さがす」ユーザの満足度を上げるために、 クックパッドの検索まわりについて、いろいろな開発を行っています。 一方で、ユーザの「さがす欲求」について深く知るために、大規模なデータ解析を行い、欲求の分析を行う機会も増えてきました。 ところが、クックパッドのログは膨大な数があるので、一口のデータ解析と言っても通常のバッチ処理だと間に合わないため、 分散処理環境の必要性が高まってきました。 そこで、まずは手軽に試せる分散処理の王道ということで、最近ではHadoopを使ったデータ解析環境を整備しています。
こんにちは、 最近愛用のMacbookが外観も中身もボロボロになってきて悲しいkyannyです。 ライブドアでは、画像やCSSファイルやjavascriptファイルなどの静的なコンテンツを配信するウェブサーバとウェブアプリケーション本体が稼働するアプリケーションサーバを別々のホストで運用する、いわゆるリバースプロキシ環境を構築しています。今回は、このリバースプロキシ環境の作り方を解説します。 リバースプロキシとは リバースプロキシとはプロキシサーバの一種で、クライアントに対してファイアウォールの中にあり外部のネットワークから直接アクセスできないサーバへのアクセスを提供する機能です。これ以外にも、複数のバックエンドサーバを用意して負荷分散をしたり、プロキシサーバでキャッシュを併用することでバックエンドサーバへのリクエストを減らしたりと、様々なシーンで活用できるため、大規模なウェブサイトを構築
高速Webサーバ Nginxの組み込みPerlを使ってみる NginxというWebサーバがあります。 ロシアの方がつくったもので、rambler.ruでも使われてます。 日本語情報がほぼ皆無ですが、このあたりで紹介されています。 機能的には、epoll,kqueueやsendfileなどがサポートされ、 rewrite, header書き換え deflate FastCGI SSL シンプルな負荷分散付きreverse proxy 等すでにLighttpdと比較しても遜色ない十分な機能が実装されてます。 パフォーマンス的にもLighttpdと同等かそれ以上でます。 珍しい機能として、「perlインタプリタの組み込み」があるので早速試してみます。Fedora Core6ではnginxはyumでインストールできます。perl_moduleも有効になってます perl関連のドキュメントはここ。
こんにちは satoです。 nginx(えんじんえっくす)はロシアで開発されているwebサーバで、軽量、高速が売りのようです。もちろんvirtualhostやrewrite機能にも対応しています。今回はmongrel_clusterのフロントエンドに使ってみました。 mongrel_railsのインストールと環境構築 mongrel_railsをインストールします gem istall mongrel_cluster --include-dependencies 設定ファイルを作ります。RAIL_ROOTで mongrel_rails cluster::configure -e development -p 4000 とすると RAILS_ROOT/conf/mongrel_cluster.yml ができます。 --- log_file: log/mongrel.log
2007.07.21 何気に流行っているらしいロードバランサー nginx を使ってみる カテゴリ:その他 Scaling Python for High-Load Web Sites を読んでいたら、この中で Load Balancer として nginx があげられている。Perlbal を試してみようかなと思っていたところなのだが、とりあえず nginx について先に調べてみる。pound とも最終的に比べる必要ありか。 Online Security Blog によるとGoogle Web server software distribution across the Internet の 4% が nginxらしい。 Netcraft では 2007年6月時点で 0.19% と少な目。でも Zope の 0.03% より多いし、thttpd や Resin よりも多いといえば十分
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く