PHP在无共享环境中运行,在这种情况下,这意味着每个Web请求都在一个干净的环境中运行.除了通过单独的持久层(文件系统,数据库等)之外,您无法访问其他请求的数据.
Ruby on Rails怎么样?我刚看了一篇博文,说明单独的请求可能会访问同一个类变量.
我想到这可能取决于Web服务器. Mongrel的FAQ说明Mongrel每个请求使用一个线程 - 建议无共享环境.FAQ继续说RoR不是线程安全的,这进一步表明RoR不会存在于共享环境中,除非新请求重用从先前请求创建的内存中对象.
显然这具有巨大的安全后果.所以我有两个问题:
更新:我会进一步澄清. 在Java servlet容器中,您可以拥有跨多个请求持久化的对象.这通常用于缓存多个用户可以访问的数据,数据库连接等.在PHP中,这不能在应用程序层完成,它必须在像Memcached这样的单独的持久层中完成.因此,双重问题是:哪种情况是RoR(PHP或Java),如果像Java一样,哪些数据类型在多个请求中持续存在?
有没有人尝试过Hadoop?在没有共享架构的情况下,它可以在没有随附的分布式文件系统的情况下使用吗?那会有意义吗?
我也对你的任何表现结果感兴趣......
我有一个分布式系统(单个数据中心中的多个节点),我想要具有以下属性:
什么算法(最适合论文的链接)适合这个?
(我假设一些答案将包括P2P算法,但我过去遇到的大部分答案都更像是分布式哈希表,其中节点进入并接管键空间的某些部分,等等.我也认识到使用简单UDP消息进行多播可能是合适的,但现有的工作有助于使消息传递可靠吗?)