オンライン書店のBK-1で「堀さんと宮村くん」なる書籍の予約受付がはじまってます。
まだamazonにも載ってないけど、これはweb漫画の「堀さんと宮村くん」の書籍化と考えて間違いなさそう。(追記:今はamazonにも載ってますね!)
何話まで収録されるのか、あの画質(笑)はそのままなのかなどいろいろと気になります。
漫画は本で読まないとねって人はどうぞ。
オンライン書店のBK-1で「堀さんと宮村くん」なる書籍の予約受付がはじまってます。
まだamazonにも載ってないけど、これはweb漫画の「堀さんと宮村くん」の書籍化と考えて間違いなさそう。(追記:今はamazonにも載ってますね!)
何話まで収録されるのか、あの画質(笑)はそのままなのかなどいろいろと気になります。
漫画は本で読まないとねって人はどうぞ。
ITの雄GoogleがSafariと同じwebkitベースでオープンソースのウェブブラウザ「Google Chrome」をWindows用にβリリースしました。
早速いれてみましたので、感想を。
良い点:
Firefox3と比べていまいちな点:
こんな感じです。主観的には、速いのはすごいと思いましたが、いまいちな点がいまいちなのでしばらくは様子見かなーと思いました。皆さんはどうでしょうか?IE7を使っている人は入れてみるとその速さに驚くと思いますよ。
安価なサーバを沢山並べることで容易に性能を上げられるN+1処理にも弱点があります。それは、N+1台のサーバが独立して動作するために、データの一貫性を保てないのです。
一貫性を保たなくてはいけないデータとはたとえばECサイトのセッション情報やMixiの日記データ、証券会社のお金の情報などです。
これらは逐一情報が更新されていき、かつ常に一貫性が保たれなくてはいけません。
よってこれらの情報の管理(すくなくとも書き込み権の管理)は1台のサーバが行わなくてはなりません。よって、DBサーバ(のマスター)やファイルサーバなどはN+1構成ではなく、HA構成をとらざるを得ません。またN+1を実現するための負荷分散装置自身もN+1にするわけにはいきませんから、HA構成(ACT-SBY)になります。
全体として、冗長化を考慮した典型的なWebシステムは基本的には以下の図のような構成になります。
サーバの冗長化方式で、HA方式ともうひとつ有名な方法が、負荷分散もしくはN+1冗長化といわれるものです。
厳密には負荷分散とN+1冗長化は違うんですけど、実現手段が同じ場合が多いです。
これはどういうものかといいますと、なにかのサービス(ここではWebサーバを動かすHTTPDだとします)を実行するサーバが、たとえば6台必要だとしますと、予備含めて7台用意します。そして、そのサーバとインターネットの間に、「負荷分散装置(ロードバランサー)」と呼ばれる機械をはさみます。
負荷分散装置はインターネットに対して、入り口となるひとつのIPアドレスを用意します(VIP:Virtual IPなどといいます)。クライアント(この場合はブラウザ)からVIPに向かってやってきたHTTPリクエストは、負荷分散装置であて先を7台のサーバに書き換えられて、サーバに分散させて送りつけます。
リクエストを受けたサーバは応答をクライアントに返そうとします。そのとき、負荷分散装置はサーバのデフォルトGATEWAYになっているので、応答パケットは負荷分散装置を通ります。負荷分散装置に到達した応答パケットは応答主のIPアドレスを負荷分散装置のVIPに書き換えて、クライアントに返します。
こうすることで、負荷分散装置はクライアントから見ると一台のサーバに見えますが、実際の処理は7台のサーバで分担することになります。
これによって、1台のサーバではしんどい処理をあたかも1台のサーバが処理しているかのように沢山のサーバにやらせることができます。
ここまでは性能の話で、冗長化の話ではありません。ここで、7台のサーバのうちの1台が故障してサービスできなくなったとします。そのとき、負荷分散装置はサーバをポーリングして、反応しなくなったサーバを負荷分散対象からはずすのです。
これによって、7台のサーバのどのサーバがダウンしてもサービスはほとんど止まることなく動き続けることができるのです。
すばらしいですね。
負荷分散装置はHTTPリクエストのTCPヘッダを解釈して、分散しますので、IPレベル(OSI7階層モデルで第三階層)でのネットワーク制御機器であるルーターをL3スイッチ(L3SW)というのにならい、L4スイッチといいます。また高機能な負荷分散装置はTCPヘッダだけでなく、URLのパスやクッキー、HTTPリクエストの内容を理解して分散先を制御します。このような負荷分散装置をL7スイッチといいます。(L5,L6スイッチというものはTCP/IPの世界では普通存在しません。念のため)
商用の負荷分散装置では、F5ネットワークスのBIG-IP、ファウンドリーのServerIron、ノーテルのAceDirectorなどが有名です。一般的にこれらの装置は目の玉が飛び出るほど高いです。
商用の機器を使わずに負荷分散を実現する方法として、Linux上で動くL4スイッチ機能であるLVSを用いる方法があります。また、apacheのmod_proxyモジュールを使って、HTTPリクエストをL7レベルで負荷分散する方法もメジャーです。
負荷分散装置はインターネットの矢面に立つことが多い機器ですので、ファイアーウォールなどを用意せずにLinuxなど脆弱性が広く知れ渡っている機器を使う場合には十分なセキュリティ対策が必要です。