sábado, 15 de marzo de 2014

Información sobre el Servicio de Topología ()

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 actualizar la lista de endpoints disponibles, podemos limpiar la cache de Sharepoint: http://blogs.msdn.com/b/jamesway/archive/2011/05/23/sharepoint-2010-clearing-the-configuration-cache.aspx

  • Realizar un iisreset

  • Verificar que el servicio del endpoint esté ejecutando en Central Administration -> System Settings -> Manage services on server(Ej: en este caso, Managed Metadata Web Service)

  • Verifica si las cuentas de usuario con las cuales se ejecutan los services application application pool no estén bloqueadas

  • Si ninguno de los pasos anteriores solucionó tu problema, accede al service directamente y evaluar el error que lanza http://myappsserver:1234/1234567890/MetadataWebService.svc una manera de tener un mensaje de error más adecuado, podrás setear el modo debug en el web.config del service application
  • 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