Compartir a través de


Implementación del equilibrio de carga

Última modificación: jueves, 15 de abril de 2010

Hace referencia a: SharePoint Foundation 2010

Las aplicaciones de Service Application Framework suelen hospedarse en varios equipos e invocarse desde aplicaciones cliente de servicio que se ejecutan en servidores front-end web. Debe enrutar las invocaciones al método de proxy de aplicación de servicio desde el servidor front-end web a un servidor de aplicaciones adecuado mediante un equilibrador de carga.

SharePoint 2010 proporciona una implementación sencilla de equilibrador de carga en la clase SPRoundRobinServiceLoadBalancer. Los proxy de aplicación de servicio pueden usar el equilibrador de carga integrado para enrutar solicitudes a la aplicación de servicio back-end adecuada.

Creación, aprovisionamiento y anulación de aprovisionamiento del equilibrador de carga

En el ejemplo de código siguiente se muestra cómo crear, aprovisionar y anular o quitar el aprovisionamiento del equilibrador de carga.

internal SampleWebServiceApplicationProxy(
   string name,
   SampleWebServiceProxy serviceProxy,
   Uri serviceApplicationAddress)
   : base(name, serviceProxy, serviceApplicationAddress)
        {
   // Create a new load balancer.
   m_LoadBalancer = new SPRoundRobinServiceLoadBalancer(serviceApplicationAddress);
   
        }

        public override void Provision()
        {
   // Provision the load balancer.
   m_LoadBalancer.Provision();

   base.Provision();
 
   // Ensure the provisioned load balancer 
   // is persisted back to the database.  
   this.Update();
        }

        public override void Unprovision()
        {
   // Unprovision the load balancer.
   m_LoadBalancer.Unprovision();

   base.Unprovision();

   // Ensure the unprovisioned load balancer 
   // is persisted back to the database.  
   this.Update();
        }
Friend Sub New(ByVal name As String, ByVal serviceProxy As SampleWebServiceProxy, ByVal serviceApplicationAddress As Uri)
    MyBase.New(name, serviceProxy, serviceApplicationAddress)
    ' Create a load balancer.
    m_LoadBalancer = New SPRoundRobinServiceLoadBalancer(serviceApplicationAddress)

End Sub

Public Overrides Sub Provision()
    ' Provision the load balancer.
    m_LoadBalancer.Provision()

    MyBase.Provision()

    ' Ensure the provisioned load balancer 
    ' is persisted back to the database.  
    Me.Update()
End Sub

Public Overrides Sub Unprovision()
    ' Unprovision the load balancer.
    m_LoadBalancer.Unprovision()

    MyBase.Unprovision()

    ' Ensure the unprovisioned load balancer 
    ' is persisted back to the database.  
    Me.Update()
End Sub

Vea también

Referencia

SPRoundRobinServiceLoadBalancer