我有一个WCF服务部署在IIS上,并使用SQL Server 2008作为后端。
我的问题是我怎么能在IIS和SQL Server上做群集(负载平衡/故障切换),以及在做这些事情之前我需要记住什么样的事情(例如,我必须将会话从内存移动到SQL服务器等),以及我怎样才能确保这两个SQL服务器都有镜像数据所有的时间和两个SQL服务器实时共享锁(行,页,表)信息。
这是第一次。 请帮忙。 也告诉我这就是所谓的networking农业?
问候Mubashar
我猜IIS和SQL是在不同的服务器上:
IIS:您可以使用Microsoft NLBfunction在两台或更多服务器之间传播负载。 他们可以是Windows的Web版本。 它包含在窗口中。 您将拥有一个客户端将连接到的虚拟IP。 服务器将“共享”这个IP,并将客户端传播到不同的服务器。 组播/单播取决于networking,nic和intra服务器通信的数量与否。 NLB不能识别应用程序,如果closures了IIS,那么如果你有亲和力,用户将会丢失。 如果从ip的angular度来看,NLB只是删除一台服务器。 您将不得不在IIS元数据库(loadbalancercapabilities)更改如下所述: http ://technet.microsoft.com/en-us/library/cc757659(WS.10) .aspx从许可证的angular度来看,它包含在Windows ,没有更多的成本。
从WCF的angular度来看:客户端将连接到其中一个X Web服务器。 你可以在同一台服务器上维护它们(通过关联)。 亲和性基于客户端IP和虚拟IP之间的散列。 如果服务器失败,客户端将被分派到其他服务器。 如果您使用http会话/身份validation,则必须将会话存储在服务器之外,例如数据库。 否则客户端会话将在服务器失败时丢失。
SQL:您有不同的select:使用SQL机制来复制数据库,或使用Microsoft MSCS(集群)。 最后一个意味着Windows企业版本和外部共享存储意味着高成本(但仍然是SQL标准版本)。 使用SQL纯层,你可以镜像你的数据库。 每台服务器都有一个本地存储器,并且主要发送事务到备用服务器(synchrone或asynchrone)。 当您的Web服务器连接时,服务器通过SQL本机客户端和/或ADO.Net告诉他备用服务器可用,以防出现问题。 因此,如果出现问题,您的networking服务器将自动切换到备用服务器。 这一切都适用于标准的SQL版本。 数据库需要处于完全恢复模式。 它是每个数据库,所以如果你的WCF使用多个数据库,并且只有一个数据库被破坏,你将会遇到问题,因为一个数据库现在在备用服务器上是活动的,但是所有其他数据库仍然在主服务器上。
更多信息在这里: http : //technet.microsoft.com/en-us/library/cc917680.aspx
我有6个服务器iis,我也得到了WCF服务。
我使用ARR(应用程序请求路由),是IIS模块扩展,将请求路由到我的Web场。 它工作得很好。
我也使用NLB为我的WCF服务,如Mathieu告诉。
对于我的SQL服务器,我使用Hyper-V,两台虚拟机用于我的sql服务器,一个SQL集群和windows faileover集群和Live迁移。
我会用法语回答,所以如果有些身体可以翻译的话就会很感激。
彻头彻尾的决心,尽在不言中。 Ce serveur va serviràmaintenir le“heart beat”entre vos deux serveur SQL。 数据库pipe理系统(SQL)是一个独立的数据库pipe理系统,它提供了一个独立的数据库pipe理系统(SAN ou NAS ou autre)。 Les bases dedonnéesontmontésur un seul serveuràla fois。 Lorsque le“heart beat”estbrisé,l'autre serveur prend larelève,et monte en une une seconde les base dedonnéeet votre service est revenue,ceci est le“failover cluster”。 Lorsque le processus de transfert de serveur开始vous pouvez perdre quelques ping。 Ce qui vadétruiretous vos connection actuelle vers la base dedonnée。 La seul facons que vous pouvezêtre“UP”à99%c'est d'y ajouter live migration。 Vous avez un 2 serveur Hyper-V(host)qui monte vos deux serveur SQL(un sur chaque host),vous activer le live migration entre vos deux machine virtuel,donc si vous avezàredémarerun host(serveur quihébergeSQL), vous faites un live migration de votre machine sql d'un hostàl'autre。 Lamémoiresera transferer d'uncotéàl'autre et vous n'aurez aucune perte de connection。 Votre failover fonctionne toujours,donc si c'est la machine virtuelle qui leient le service sql qui plante,alors c'est l'autre qui va prendre larelèveet vous perdrez alors quelques ping mais votre service seraremontétrèsrapidement。
J'epèreque ceva va vous aider,etdésolerpour le francais,mais en anglais j'aurais surementétémal comprising。
是的,集群Web服务器通常称为Web农场(请注意,该术语没有任何与之关联的SQL数据库,只有Web服务器)。
通常会在web服务器前使用负载平衡器。