java-l |
| dtorress | |
Que tal compañeros de la comunidad, Estamos en proceso de implementación de un sistema desarrollado con GX17 U2 generador Java Web el cual utiliza GAM como plataforma de accesos que se instala en un clúster JBoss EAP 7.0 con 2 nodos en balanceo (paralelo) y su ejecución es correcta, sin embargo estamos detectando algo importante. Nuestro sistema ejecuta procedimientos que se encargan de agregar, actualizar registros en la base de datos cuando es requerido (ya sea facturación, generación de cuentas, pólizas, etc.). El usuario al dar clic a un botón ejecuta el procedimiento pero el servidor al tener dos nodos (cluster) éste se llama dos veces y nos generan duplicidad de registros, esto ya que nuestros New tienen autonumérico o sacan un ID controlado, pero esta forma de clúster hace que se ejecuten en paralelo y agregue dos registros, supongo que si tuviésemos mas de 2 nodos se ejecutarían tres o mas veces los mismos procedimientos!. Nuestro llamado es sencillo desde un evento de usuario: Event 'Agregar' AgregarRegistro.call(&Var1,Var2) EndEvent El procedimiento es también trivial, el ID es autonumérico. New Var1 = &Var1 Var2 = &Var2 EndNew El procedimiento AgregarRegistro se ejecuta 2 veces y por consiguiente agrega dos registros al solicitar 1 solo evento, esto por el balanceo de carga entre ambos. Esta situación nos complica el correcto funcionamiento del sistema ya que se corre el riesgo de duplicar registros críticos; ya se intentó hacerlo por BC, webservice, submit, etc y siempre lo ejecuta 2 veces. ¿Alguna sugerencia o experiencia que hayan tenido con respecto a ejecución de una aplicación GX en un cluster con comportamiento similar? ¿Cómo podemos solucionar esta situación? Agradezco sus respuestas. Saludos cordiales. Grupo Financiero Actinver C.F. Montes Urales 620, Piso 2. Lomas de Chapultepec, Ciudad de México 55 1103 6600 Ext: 1985 / 800 705 5555 dtorress@actinver.com.mx<mailto:dtorress@actinver.com.mx> actinver.com La información contenida en este correo electrónico es confidencial y para uso exclusivo de la(s) persona(s) a quien(es) va dirigida. Está prohibido difundir la información aquí contenida si la ha recibido por error, y le suplicamos notificar inmediatamente al remitente. Actinver o sus subsidiarias, no garantizan la integridad del presente correo electrónico o archivos adjuntos, ni que el mismo esté libre de interferencias o virus, por lo que su lectura, recepción y retransmisión será responsabilidad de quién lo haga. Gracias. [cid:image001.jpg@01D72098.D6643C10] |
|
|
| | |
dtorress | |
Que tal Gabriel
Es lo que estamos pensando en concreto ya que la aplicación corre perfectamente, salvo los disparos de los procesos en ambos servidores en paralelo ocasionándonos duplicidad de datos, intentamos buscar en la documentación de GX si había algo para configurar ese comportamiento pero como bien dices, parece ser esto un tema de balanceo de carga; por ello mi duda si algunos de los integrantes de este foro ha tenido un comportamiento similar, para descartar un problema de compatibilidad de GX con ambientes distribuidos.
Saludos
Daniel
Grupo Financiero Actinver
C.F. Montes Urales 620, Piso 2.
Lomas de Chapultepec, Ciudad de México
55 1103 6600 Ext: 1985 / 800 705 5555
dtorress@actinver.com.mx
actinver.com
La información contenida en este correo electrónico es confidencial y para uso exclusivo de la(s) persona(s) a quien(es) va dirigida. Está prohibido difundir la información aquí contenida si la ha recibido por error, y le suplicamos notificar inmediatamente al remitente. Actinver o sus subsidiarias, no garantizan la integridad del presente correo electrónico o archivos adjuntos, ni que el mismo esté libre de interferencias o virus, por lo que su lectura, recepción y retransmisión será responsabilidad de quién lo haga. Gracias.
[cid:image001.jpg@01D720CB.688474C0] |
|
|
dtorress | |
Correcto Gabriel, permíteme revisar el tema con el área de Infraestructura y que nos den la definición de como está configurado el NGINX y el F5.
Dada esta cuestión, en el lado desarrollo GeneXus, ¿Tendremos que realizar alguna configuración adicional? Es decir, cambiar alguna propiedad en el modelo, objeto, forma de llamado de los procedimientos, etc.?
Te comento que trabajamos con casi la mayoría de las propiedades por default en GeneXus (salvo configuración de Datasources y propiedades del compilador), y se agregaron algunos archivos al WEB-INF donde controla el tema de la distribución de la sesión para que funcione en clúster, esta información está en su wiki
https://www.genexus.com/es/developers/websac?data=47815;;
https://wiki.genexus.com/commwiki/servlet/wiki?46032,Deploying+a+Java+application+on+a+JBoss+server,
Esto para descartar algún esfuerzo adicional por parte de desarrollo y dirigir el tema mas por el lado de infra.
Agradezco tu apoyo y quedo atento a tus comentarios.
Saludos cordiales.
[cid:image001.png@01D720E2.878BC1E0]
DANIEL TORRES SILVA
Sistemas
Grupo Financiero Actinver
C.F. Montes Urales 620, Piso 2.
Lomas de Chapultepec, Ciudad de México
55 1103 6600 Ext: 1985 / 800 705 5555
dtorress@actinver.com.mx
actinver.com
La información contenida en este correo electrónico es confidencial y para uso exclusivo de la(s) persona(s) a quien(es) va dirigida. Está prohibido difundir la información aquí contenida si la ha recibido por error, y le suplicamos notificar inmediatamente al remitente. Actinver o sus subsidiarias, no garantizan la integridad del presente correo electrónico o archivos adjuntos, ni que el mismo esté libre de interferencias o virus, por lo que su lectura, recepción y retransmisión será responsabilidad de quién lo haga. Gracias.
[cid:image002.jpg@01D720E2.878BC1E0] |
|
|
dtorress | |
Hola Gabriel,
De hecho al agregar al final del web.xml que está dentro del WEB-INF el siguiente elemento:
Según la documentación https://docs.jboss.org/jbossas/docs/Clustering_Guide/beta422/html/clustering-http-app.html le indica a la app que va a correr en un ambiente clúster así como la configuración del archivo jboss-web.xml (en caso de JBoss debe existir ese archivo), ya que al no tener el elemento anterior la app se cae en todo momento, la sesión se pierde en segundos, me imagino que por la naturaleza del clúster, al ponerle ese elemento y como lo menciona la documentación la app anda muy bien, salvo el detalle de la ejecución doble o paralela al mismo tiempo de ciertos procedimientos.
Tomo nota de lo que me comentas con respecto a la configuración del balanceador, espero que pueda ser la solución a nuestro problema, te lo haré saber si es así.
Muchas gracias
Saludos cordiales.
[cid:image001.png@01D72102.7DD066E0]
DANIEL TORRES SILVA
Sistemas
Grupo Financiero Actinver
C.F. Montes Urales 620, Piso 2.
Lomas de Chapultepec, Ciudad de México
55 1103 6600 Ext: 1985 / 800 705 5555
dtorress@actinver.com.mx
actinver.com
La información contenida en este correo electrónico es confidencial y para uso exclusivo de la(s) persona(s) a quien(es) va dirigida. Está prohibido difundir la información aquí contenida si la ha recibido por error, y le suplicamos notificar inmediatamente al remitente. Actinver o sus subsidiarias, no garantizan la integridad del presente correo electrónico o archivos adjuntos, ni que el mismo esté libre de interferencias o virus, por lo que su lectura, recepción y retransmisión será responsabilidad de quién lo haga. Gracias.
[cid:image002.jpg@01D72102.7DD066E0] |
|
|
|
|
Back to java-l |
|