我的 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 关联的唯一代码。