Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Ejecucion asincrona usando el framework java.util.concurrent

Gustavo Fernández
Gustavo Fernández

Siguiendo con el diseño de aplicaciones
de alto rendimiento
vamos a ver como se podría mejorar el
rendimiento de la siguiente parte del gráfico general

 

donde vemos que hay una librería (cliente) que se integra en
otra aplicación
. Lo fundamental en este caso es que
la librería cliente no penalice, o penalice lo menos posible, el
tiempo de ejecución de la aplicación original. Por ejemplo si el
cliente es una librería de trazas
lo idoneo es que el
tiempo de ejecución del método de la aplicación sea el mismo con las
trazas activadas que con las trazas desactivadas.

Si partimos de este esquema y aplicando las dos siguientes premisas

  • No es importante la garantía de entrega.
  • No es requisito procesar la respuesta de la petición realizada
    para hacer lógica sobre el programa principal.

Podemos hace uso del framework java.util.concurrent
para mejorar mucho el tiempo. Pasando de ejecutar 10000 envios en 60
degundos a 10000 envios en  menos de 1 segundo. Es decir mejoramos la
sensación del rendimiento al usar la librería cliente en un
x100,
que es uno de los objetivos que pretendíamos.

Un par de snippets de como hacer una petición
rest desde un cliente usando esta técnica

donde vemos como se realizaría la petición de manera sincrona.

donde vemos como se realizar la petición asincrona

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *