My Rails 3.2アプリには、アップストリームロードバランサーのヘルスチェックルートが含まれています。
# routes.rb
get 'health' => lambda { |env| [200, {"Content-Type" => 'application/json'}, [ 'Alive.' ] ] }
また、Dalliとmemcachedを使用して、アプリケーションのさまざまなオブジェクトをキャッシュしています。最近Dalliデバッグ出力を使用していますが、ログにヘルスチェックが殺到していることに気付きました。
# application.rb
config.cache_store = :dalli_store, "localhost:11211", { :compress => true, :expires_in => 1.day }
Dalli.logger = Logger.new("#{Rails.root}/log/#{Rails.env}_cache.log")
Dalli.logger.level = Logger::DEBUG
# development_cache.log
[DEBUG] Cache read: http://mysite.com/health/?
[DEBUG] Cache read: https://mysite.com:80/health/?
[DEBUG] Cache read: http://mysite.com/health/?
[DEBUG] Cache read: https://mysite.com:80/health/?
[DEBUG] Cache read: http://mysite.com/health/?
[DEBUG] Cache read: https://mysite.com:80/health/?
....
これらのヘルスチェックは、何らかの理由でキャッシュから提供されていますか?それはどこで構成されていますか?私は明らかにページキャッシュを設定していません。このルートは、そのURLに関連付けられている唯一のコードです。