2012-01-01から1ヶ月間の記事一覧

EventMachineで簡単なロードバランサーを書いてみた

同期の問題は大変デスネー Hostヘッダ渡さなくてもレスポンス返してくれたのがちょっと意外だった。 hHatena Blogはレスポンス返してくれるのかな? #!/usr/bin/env ruby require 'rubygems'a require 'eventmachine' class Backend < EM::Connection def i…

EventMachineで簡単なロードバランサーを書いてみた その2

あ、さっきの嘘だ。 普通にラウンドロビン実装できた。 #!/usr/bin/env ruby require 'rubygems' require 'eventmachine' class Backend < EM::Connection def initialize(proxy) @proxy = proxy end def receive_data(data) @proxy.send_data(data) end end…

EventMachineでHTTPd

重い処理はバックグラウンドに回すのが正解なのかな。 基本的にmutableなオブジェクトの共有はNGな気がするな。 #!/usr/bin/env ruby require 'rubygems' require 'eventmachine' class HTTP < EM::Connection def receive_data(data) operation = lambda do…

MurakumoによるElastic Network Interfaceのフェイルオーバー

Murakumo 0.4.5をリリースしました。 https://rubygems.org/gems/murakumo/versions/0.4.5 今回はKeepalived/Heartbeatのような冗長化機能を追加しました。 Elastic Network Interfaceを使った冗長化の例 ■概要 アクティブなサーバのMySQLが落ちたとき・サー…

Scheduled Eventチェック用Nagiosプラグイン

#!/usr/bin/env ruby require 'cgi' require 'base64' require 'net/https' require 'openssl' require 'rexml/document' Net::HTTP.version_1_2 class EC2Client API_VERSION = '2011-12-15' SIGNATURE_VERSION = 2 def initialize(accessKeyId, secretAcce…

例のアレ

EC2

画面はできましたがテストができません…

例のアレ その2

EC2

テストできちゃったよ…