Configuración NBL (Network Load Balancing) para servicios de Microsoft Dynamics AX 2012


Lo primero que debemos diferenciar es NBL de la configuración de Balanceo de cargas de AOS en Microsoft Dynamics AX 2012, puesto que son configuraciones diferentes con usos diferentes.

Cuando se hace una configuración de clúster de AOS de Microsoft Dynamics AX 2012, lo que hacemos es distribuir la carga de usuarios a través de varias instancias del servidor de objetos de la aplicación (AOS).

Ahora bien, con esta configuración de NBL lo que pretendemos es tener un balanceo de cargas para los servicios de Microsoft Dynamics AX y para ello debemos hacer uso de la funcionalidad de Windows Server que nos permite crear NBL.

  1. Si se configura NBL entonces todos los servidores que alojan el servicio de AOS deben de participar en la configuración de NBL
  2. Si cuenta con una configuración de AOS Session Manager que distribuye la carga de usuarios entre los demás AOS que pertenecen a una configuración de Clúster de AOS, este servidor de AOS no debe hacer parte de la nueva configuración de NBL de Windows Server.
  3. La cuenta que inicializa los servicios de AOS de todos los servidores debe ser la misma.
  4. Cualquier cliente que haga uso de los servicios de Microsoft Dynamics AX 2012 debe utilizar la IP o el nombre  virtual del clúster NBL para poder realizar las llamadas de servicio.
    • Microsoft Dynamics AX 2012 Rich Client
    • Aplicaciones Clientes personalizadas
    • Clientes que consumen servicios web desde Internet

NBL solo es una configuración a nivel de Windows Server y no controla la configuración de clúster de AOS de Microsoft Dynamics AX2012.

Precaución: Nunca se debe mezclar las llamadas a servicios Web y RPC en este entorno.

La siguiente grafica muestra la topología de funcionamiento de NBL para los servicios de Microsoft Dynamics AX 2012

Para efectuar la configuración de NBL para servicios, es necesario seguir los siguientes pasos:

1. Instale el servicio de Microsoft Dynamics AX 2012 AOS en cada uno de los servidores que harán parte de la configuración NBL. Cada servidor debe contar con su propio nombre.

2. Recuerde que el nombre que se asigne al servidor virtual NBL no debe usarse como nombre de servidor AOS en las configuraciones de los clientes de Microsoft Dynamics AX.

3. En cada uno de los servidores configure la funcionalidad de NBL de Windows Server, descubre de como hacerlo.

4. Utilice un cliente de Microsoft Dynamics AX 2012 para generar una nueva configuración

5. Ingrese al REGEDIT y ubique la llave de la nueva configuración creada, esta la encontrara en la siguiente ruta [ \Software\Microsoft\Dynamics\6.0\Configuration\new_configuration_name en HKEY_CURRENT_USER  y HKEY_LOCAL_MACHINE.

Sobre esta llave agregue los siguientes 2 Valores:

Atributo Descripción
 wcflbservername  Esta llave de tipo texto contiene el nombre del virtual del NBL
 wcflbwsdlport  Esta es una llave de tipo texto y contiene el numero de puerto que permite recuperar documentos de lenguaje de descripción de servicios Web (WSDL).

 

 

 

6. Ingrese nuevamente a la utilidad de configuración del cliente de Microsoft Dynamics AX 2012

7. Haga Click en configurar servicios, para abrir el editor de configuración de servicios de Microsoft. Este paso actualiza la configuración de Windows Communication Foundation (WCF) que utiliza direcciones endpoint para señalar el nombre virtual o la dirección IP del clúster NLB.

8. Guarde el archivo de configuración de WCF y cierre el editor.

9. En la herramienta de configuración del cliente de Microsoft Dynamics AX , haga clic en administrar y guarde la información de configuración en un archivo .axc. Puede utilizar este archivo como el archivo estándar para configurar cualquier cliente que se conecta al Cluster NLB para consumir servicios.

Si usted hace uso de la configuración estándar generada en la instalación, puede considerar crear estas 2 llaves del registro por medio de una directiva GPO para distribuirla en todos los equipos clientes que tienen Microsoft Dynamics AX 2012 instalado.

La siguiente imagen muestra como quedan las llaves del registro

Este es un ejemplo de como crear la llave de registro en una directiva GPO

 

Espero esto les sirva de ayuda para configurar ambientes en donde requieran una alta disponibilidad de los servicios WSDL de Microsoft Dynamics AX 2012.

Comments (7)

  1. Laura Alvarado says:

    Gracias Samuel, excelente blog, es de gran ayuda.

  2. Gracias Samuel. Excelente post.

  3. Randall Vareka says:

    Hola Samuel. Tengo 4 AOS en cluster (sin habilitar load balancer), ahora bien, por una aplicacion que se llama RFSMART usamos muchas conexiones de tipo WCF services  (WSDL) y por esa razon queremos usar NLB.

    Seria tan gentil de ampliar cuando dice: "Precaución: Nunca se debe mezclar las llamadas a servicios Web y RPC en este entorno"

    Gracias

    1. Hola Randall,
      Solo se debe hacer balanceo de puertos para los servicios de WCF y WSDL (8101, 8201) todo el tráfico que va por el Puerto 2712 es RPC.

  4. Moisés Gómez GCG says:

    Muchas gracias Samuel, esto es nuevo para mi, lo aplicaremos con los clientes en donde tenemos más de un AOS

  5. Luis says:

    Samuel buenas tardes, puedo tener 1 o mas AOS balanceando usuarios, o puedo utilizar un NLB para darle alta disponibilidad a 2 AOS Balanceadores.

    1. Hola Luis,

      Para el balanceo de sesiones de usuario, existe la funcionalidad de cluster, la cual configuras por Administración del Sistema>>Sistema>>Configuración del Clúster. En esta configuración puedes tener todos los AOS de un mismo ambiente configurados en clúster; esto permite las conexiones de usuario que llegan por puerto 2712 (Tráfico RPC) se distribuyan entre los distintos servidores AOS.

      Cuando se activa NLB es específicamente para el trafico WSDL/WCF de los puertos 8101 y 8201 únicamente ya que el tráfico RPC no es soportado en NLB. Esta funcionalidad te sirve para balancear el trafico hacia los inbound ports que expone Microsoft Dynamics AX 2012.

      Saludos,

      Samuel

Skip to main content