[英]Azure Worker Role - attach a disk that can be re-used between deployments
这些文件是我需要动态链接的Dll,因此无法使用Azure存储。
我可以根据以下内容将磁盘连接到Azure虚拟机: http : //www.windowsazure.com/en-us/manage/windows/how-to-guides/attach-a-disk/
但是我怎样才能为工人角色做同样的事情呢?
原因是:
存储一些所有Worker角色实例可以同时访问的文件。 因此,不必将文件复制/同步到每个实例的所有本地驱动器。
部署新版本的Web角色时,文件需要保留。
请查看Azure Drives: http : //go.microsoft.com/?linkid = 9710117 。 它本质上是一个页面blob(因此是持久存储),它包含一个NTFS格式的虚拟硬盘驱动器(VHD)。 Azure Drive的一个问题是,只有一个实例具有Azure驱动器的写入权限。 所有其他实例仅具有只读权限。
正如Gaurav指出的那样,您可以将vhd存储在blob中,然后附加到您的实例。 请记住,对于其他实例,您需要创建blob的快照。 只要vhd的内容没有改变,那么快照就很小(实际上是一堆指向blob页面的指针)。 并且......如果您需要更新其中一个dll,则需要通过安装驱动器进行写入的实例来实现。
关于上面的标准#1(不希望为每个实例将文件复制到本地驱动器):我建议先尝试一下,看看从单个blob复制dll所需的时间(或单个blob中的zip文件)在实例启动期间到本地存储。 由于存储帐户和您的计算实例将(至少应该 )位于同一数据中心,因此副本应该非常快,并且没有带宽费用。 您可以通过启动任务轻松完成此操作。 好处?
提出一个信令方案让你的实例知道它们有一个软件更新(可能是一个简单的发布/子服务总线消息?)并不难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.