我在Heroku上有一个小网站,目前正在使用Thin。 我一直隐约知道独角兽,但从来没有觉得我有一些符合其“快速客户”规定的东西。
自述文件和this链接表明我们所说的只是在LAN上使用Unicorn(或者可能是Lambdarail),但似乎有很多人将它用于普通宽带访问的典型网站甚至可能手机网络。这是真的?是什么给了什么?
答案 0 :(得分:1)
Unicorn通常用于像Nginx这样的网络服务器/代理,它接收来自实际客户端的HTTP连接,提供静态资产并将动态请求转发到后端服务器(Unicorn)。
网络服务器现在充当Unicorn的客户端。因为Nginx(对于大多数情况下,Apaches mod_proxy)充当存储转发代理。即在将其发送到客户端之前,他们将首先缓冲完整响应(或至少与缓冲区匹配)。这非常符合Unicorn对快速客户端的定义。它承担了缓存和提供数据的艰巨任务,使客户慢慢转向必须这样做的网络服务器,因此可能做得更好。
它还表明您可能不应该直接面向客户端运行Unicorn(除非您的客户端快速消耗数据(例如,在具有非拥塞客户端和网络的LAN上)。
答案 1 :(得分:0)
我们在heroku上使用独角兽并且使用它有很好的效果。独角兽网站没有区分的是,独角兽服务动态数据与静态资产之间存在差异。如果您要将资产服务转移到CDN,那么前面有或没有nginx的独角兽没有太大区别。一旦发现这一点 - 原始的独角兽容易受到“故意”慢速客户端的攻击,例如可能在DDoS或其他黑客攻击中引入。