Adsence

sábado, 10 de enero de 2015

Configuraciones Basicas en Apache ActiveMQ

http://activemq.apache.org/ 


Apache ActiveMQ es un bróker de mensajería de código abierto (bajo licencia Apache 2.0) que implementa la especificación de Java Message Service 1.1 (JMS).
Ofrece Características empresariales como:
  • Clustering
  • Múltiples almacenes para mensajes
  • Capacidad de emplear cualquier administrador de base de datos como proveedor de persistencia JMS, aparte de VM, caché y persistencia de colas por el KahaDB.
Otra caracteristica que me parece realmente interesante es que tambien soporta la especificacion NMS para .NET y tambien puede usarse en C, C++, Delphi,Perl, Python, PHP, Ruby.

Este broker de mensajeria tiene un conjunto de propiedades mediante las cuales se puede tener un mejor rendimiento, a continuacion las mas basicas

Multicast

Esta propiedad nos ayuda a que las peticiones sea distribuidas entre los brokers de mensajeria disponibles en la red, esta propiedad viene habilitada por omisiòn, en la mayoria de las veces es mejor deshabilitarlo.
Por amision en el archivo activemq.xml viene lo siguiente:
<transportConnector name="openwire" uri="tcp://localhost:61616"
 discoveryUri="multicast://default"/>

reemplazar con:
<transportConnector name="openwire" uri="tcp://localhost:61616" />


Memoria

Dentro de las configuraciones de memoria hay que tener en cuenta 2 cosas una es la memoria de arranque del broker de mensajeria y otra con la que opera el servicio de colas virtuales o persistentes, asi para configurar la memoria de arranque del broker como servicio se utiliza el archivo
Wrapper.conf
En este archivo hay que tener en cuenta dos cosas si nuestra instalacion es un servicio de 32 bits, la memoria maxima es de 2gb, por el contrario si es de 64 bits la memoria maxima es de 4 gb.
activemq.xml

Ampliar la memoria de uso del bróker en la sección memoryUsage:
<systemUsage>
 <systemUsage>
  <memoryUsage>
   <memoryUsage limit="64 mb"/>
  </memoryUsage>
 <storeUsage>
   <storeUsage limit="100 gb"/>
  </storeUsage>
 <tempUsage>
   <tempUsage limit="50 gb"/>
 </tempUsage>
 </systemUsage>
</systemUsage>

 Tipos de Transporte

En general se usa el tipo de transporte TCP, sin embargo es recomendable tomar en cuenta la implementacion de una mejora llamada NIO (network I/O), que es un trasporte similar al TCP pero optimizado para redes.

Espero les sirva esta pequeña guia sobre una optimizacion inicial de este broker de mensajeria, que me parece una buena opcion para este tipo de servicios. 

No hay comentarios.:

Publicar un comentario

Déjame tus mensajes y recomendaciones