SharePoint provee un balanceador de carga básico, que genera request mediante round robin a los Web service applications, también ofrece tolerancia a fallos, ya que permite detectar fallas de los services application proxy.
Cómo funciona?
Un Service Application Proxy solicita un endpoint para conectarse a un Service Application desde el Load Balancer (Service Application Load Balancer), el cual se ejecuta en el mismo dominio que el proxy.
El load balancer mantiene una lista disponible de endpoints para Service Application, y simplemente retorna el próximo endpoint disponible al proxy en un modo round robin.
El load balancer revisa la base de configuración para descubrir la lista disponible de endpoints para un service application
La cache de los endpoint es actualizada si la lista de service application endpoint ha sido actualizada en la base de configuración local, el tiempo promedio de actualización es menor a 1 minuto.
Podrá consultar la base de datos mediante el siguiente script de sql:
SELECT [Id]
,[ClassId]
,[ParentId]
,[Name]
,[Status]
,[Version]
,CAST([Properties] AS XML) AS Properties
FROM [Nombre_ConfigDB].[dbo].[Objects] WITH (NOLOCK)
WHERE [ParentId] LIKE '<ID from proxy>'
El <ID from proxy> lo podrás consultar con el siguiente script de PowerShell:
(Get-SPTopologyServiceApplicationProxy).ApplicationProxies | ? { $_.Name -eq ((Get-SPTopologyServiceApplication).Id) }
Para comunicarse con un service application en una granja remota (Ej: servicios federados), el load balancer usa el web service de Topology (aka, “Application Discovery and Load Balancer Service”) para descubrir los endpoints disponibles para un service application. Este procedimiento se actualiza cada 15 minutos por el timer job “Application Addresses Refresh”.
El Service Application Proxy podría reporta una falla al load balancer, esto genera que el load balancer saque el endpoint específico de la rotación round robin por un período de tiempo (default: 10 minutos).
Este tiempo puede modificarse mediante el parámetro badtime. Después que se cumplió este tiempo, el endpoint se setea como “bueno” de nuevo.
Por default, siempre se mantiene un endpoint disponible, incluso que reporte un status “malo”.
El Topology web service application proxy es “self-balancing”
Los errores que aparecen en el Event Viewer cuando un endpoint está caído son (Por ej: el service application proxy del servicio de Metadata):
SharePoint Web Services Round Robin Service Load Balancer Event: EndpointFailure Process Name: OWSTIMER Process ID: 12264 AppDomain Name: DefaultDomain AppDomain ID: 1 Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:id#authority=urn:uuid:anotherid&authority=https://myappsserver:1234/Topology/topology.svc Active Endpoints: 1 Failed Endpoints:1 Affected Endpoint: http://myappsserver:1234/1234567890/MetadataWebService.svc
Para solucionar endpoints corruptos podemos realizar las siguientes tareas básicas:
Para exportar la configuración actual del servicio de topología, ejecuta el siguiente script de powershell:
Get-SPTopologyServiceApplication | Export-Clixml .\Get-SPTopologyServiceApplication.xml
Get-SPTopologyServiceApplicationProxy | Export-Clixml .\Get-SPTopologyServiceApplicationProxy.xml
No hay comentarios:
Publicar un comentario