简单的问题在这里,我知道像digg等这些大型网站有一堵墙的memcache服务器处理请求之前,他们的实际主/从数据库。
这些服务器会是什么样子,他们会只是像32GB的ram骨干linux服务器?
是否有任何需要解决的安全问题? 我只是想,如果有人可以以某种方式从memcache中抓取对象,那么可以非常好地存储一个User对象,其中包含用户名/密码!
有很多方法可以设置你的memcached服务器,这取决于你的应用程序的工作方式。 对于可以进行大量caching的非常大型的stream量站点,您的scheme可能会很好。 在我们的例子中,我们实际上在我们的memcache集群中使用了前端Web。
关于安全性,因为memcached没有,所以你需要确保访问它所使用的端口是正确的防火墙。 你也可以使用你自己的端口而不是默认值。 那么有人可以访问你的对象的唯一方法是妥协你的服务器访问memecached,在这种情况下,你可能有更大的问题。
Memcache不直接回应HTTP请求,它没有能力这样做; 我设置的方式是使用nginx的memcache模块直接从caching中检索页面(如果可用),与专用networking上的memcache实例通信。
我通常不使用专用机器来执行memcache,而是查看现有服务器的资源使用情况,并将memcached实例放在有备用内存容量的地方。 例如,文件存储服务器通常需要大量的磁盘IO,但通常不会使用所有的RAM(一旦用活动的文件集填充了RAM,就会浪费更多的磁盘caching内存),而memcached使用RAM,但是没有磁盘IO – 一套完美的免费使用案例。 但是,随着网站的规模越来越大,专用的机器运行大量的RAM,小型CPU,可能还有PXE引导(所以没有本地硬盘驱动器,并且可以在接近零的时间内部署新的硬盘),这与memcached服务器一样合理。