我当前的额外小vm达到了极限,所以我决定创建第二个额外的小实例,并将这两个实例添加到可用性集中,这样我的服务每次都是可用的,并且通过负载均衡器也可以平衡负载。我的问题是知道这些数据会发生什么?两张都是一样的吗?因为我需要两个都有相同的数据!例如:
Request1 -> vm1 ->添加数据Request2 -> vm2 ->想要读取首先放在vm1上的数据
或者更简单:如果我运行了一个wordpressblog博客并添加了一个博客,那么这两个博客都必须是可用的!
米琪
发布于 2013-05-19 01:12:52
每个虚拟机都由自己的vhd支持,vhd驻留在Azure存储中的Page中。这不是存储需要跨多个实例共享的任何类型的内容的好地方(proc会话状态也将仅限于该虚拟机的运行实例)。您需要将会话状态和任何其他持久化数据存储在两个虚拟机都可以访问的公共位置,但不要将内容直接存储在vhd的主磁盘或临时磁盘上。
对于会话状态,您可以轻松地设置Windows数据库(基本上是service),并将其用作会话状态提供程序。或者您可以运行memcached,使用Table,或者选择完全不同的东西--我将把其他想法留给您想象。
运行WordPress也是如此--内容需要放在公共数据存储区中。由于WordPress使用MySQL,所以可以在独立的虚拟机器中设置MySQL,也可以通过Azure订阅MySQL数据库。
另一种选择是在Blob存储中存储内容,它完全独立于您创建的任何虚拟机,并且非常容易访问。Blob存储与表存储一起,具有构建在REST之上的优秀语言SDK支持(目前是.net、php、java、python、节点和ruby )。您可以从Azure 下载页面获取选择的SDK。您还可以在github回购中仔细阅读源代码。
https://serverfault.com/questions/508908
复制相似问题