2012-04-06 85 views
1

我们希望使用Milton WebDav在我们的Web应用程序中传输文件,这些文件最终将作为IaaS部署在云环境(很可能是天青)上。 现在我们都知道,WebDAV的标准是无状态的,因此它不应该创建云负载平衡器任何问题,但我们是什么不知道弥尔顿,有几个问题:了解Milton WebDAV服务器与云环境负载平衡器的搭配

1)是米尔顿实现WebDAV的,因为它是,所有的沟通都是无状态的吗?我假设它通过身份验证令牌与每个请求,但我不确定令牌存储在服务器?它是否将其存储在数据库或某种缓存等?

2.)如果使用负载均衡并且有5-6个服务器来处理负载,锁定机制是否正常工作? Milton服务器再次购买Lock Token在哪里?

+0

- 我们刚刚测试了米顿对抗litnus测试,并且它通过了大部分测试,所以它似乎实现了基本的webdav标准。 – csn 2012-04-26 12:48:55

回答

0

我以前从未使用Milton WebDAV,但从外观上看,它用于修改和编辑服务器上的文件。

但是Azure的本地存储不共享。每个实例都是完全独立的服务器。如果您修改1台服务器上的文件,则不会将其复制到下一台。

Azure通过上传部署包来工作。当新实例需要启动时,它使用部署包并启动一个全新的服务器。

从你的角度来看,他们不共享任何共同点。因此,你永远不会知道你打哪个服务器。

如果你有一个共享的文件存储系统,那么它可能是一个不同的故事。但是,使用Azure时,这种情况看起来很奇怪。具有共享EBS的Amazon EC2可能会这样做。

1

对于迟来的评论,webdav影响负载平衡的两个最重要的方面是摘要认证令牌(Nonce值)和锁定令牌。

作为资源实施者,您可以控制这两者。锁标记通常存储在数据库中(您必须在LockableResource上实现持久性的方法),以便跨服务器共享,但使用基于内存的锁标记的情况并不少见,在这种情况下,您需要找到某种方式在服务器之间共享该信息。

如果您已实施DigestResource,摘要随机数只是一个考虑因素。默认NonceProvider使用简单的HashMap,因此不会在服务器之间共享。但界面很简单,所以您可以轻松实现数据库存储。如果您的负载平衡解决方案使用粘性会话,那么这不会成为问题,因为客户端将转到具有随机数的服务器。

请注意,Tomcat会话复制将无助于解决上述问题,因为webdav客户端通常不支持cookie,因此没有Servlet会话。