IBM Message Broker buenas practicas

Embed Size (px)

DESCRIPTION

Presentacion, practicas basicas de IBM

Citation preview

  • 1. IBM Message Broker Juan Camilo Parra M Websphere AVP Consultant [email protected] 2007 IBM Corporation Pg 1

2. IBM Software Group | WebSphere softwarePerformance en Message Broker La capacidad de procesamiento de Message Broker depende de varios factores,incluyendo hardware, configuracin, flujos de mensajes, formato de los mensajes, diseo e implementacin de las soluciones, el numero de instancias por flujo, etc. Esta charladescribe buenas prcticas para la implementacin y desarrollo que esta ligada al performance y capacidad de procesamiento en los servicios de flujos de mensajes. 2 3. IBM Software Group | WebSphere softwareMessage Flow I/O vs CPU Message Broker es una aplicativo orientado a la CPU, mas que al I/O, asi que es mejor evitar operaciones de escritura en disco o bases de datos siempre que sea posible. Separar la lgica del negocio de la configuracin del sistema siempre ha sido una buena practica en todas las soluciones,aques igualmente valida, pero hay que tener cuidado en la interaccin de esta configuracin con el proceso, ya que una configuracin en tiempo real baja el performance notablemente vs una solucin de almacenamiento en cache. 3 4. IBM Software Group | WebSphere softwareMessage Flow - Parsing Utilice mtodos de conversin parcial siempre que le sea posible, a menos que necesidades del negocio le obliguen a realizar la conversin total del mensaje. WebSphere Message Broker da soporte al anlisis parcial. Si un mensaje individual contiene cientos o incluso miles de campos individuales, la operacin de anlisis requiere una cantidad considerable de memoria y recursos del procesador para poder completarse. Un flujo de mensajes individual puede hacer referencia slo a algunos de estos campos o a ninguno de ellos, por tanto, no resulta prctico analizar cada mensaje de entrada por completo. 4 5. IBM Software Group | WebSphere softwareMessage Flow - ReducirCuando sea posible reduzca el numero denodos en el flujo de mensajes, tambinintente reducir las copias del mensaje quese crean, las copias de los mensajes puedenocupar una buena cantidad de memoriaespecialmente si estos tienen una grancantidad de elementos.Los nodos de computo selos solo cuandosea necesario, para evitar las copias de losmensajes.Esto no solo trae mejoras de memoria sino detiempo de ejecucin.5 6. IBM Software Group | WebSphere softwareMessage Flow Trace Nodes Evite el uso de nodos tipo trace en ambientes de produccin, sobre todo aquellos donde se utilice la expresin ${Root}, ya que esta causa una conversin completa del mensaje, incluso si el destino no se encuentra activo. 6 7. IBM Software Group | WebSphere softwareMessage Flow Uso Use los flujos de mensajes, solamente para mediaciones como transformaciones, traducciones, conversiones de protocolo, enriquecimiento de los mensajes y enrutamiento. Los flujos de mensajes deben ser maquinas de estado en las actividades de mediacin. 7 8. IBM Software Group | WebSphere softwareMessage Flow ComplejidadEs altamente recomendadotener pocos nodos muycomplejos, que tener unagran cantidad de nodos conactividades especificas.8 9. IBM Software Group | WebSphere softwareESQL String Manipulation Las manipulacionesde cadenas en ESQL son intensas para el procesador. Intente minimizarlas siempre que le sea posible. 9 10. IBM Software Group | WebSphere softwareESQL vs JavaAmbas opciones dependen mucho de losskills del desarrollador, cuando elegir una uotra.JAVA:Mensajes cortos.Transformacin de cadenas.No existen skills en ESQLESQL:Mensajes LargosObtener o alterar mucha informacinRecomendado sobre JAVA10 11. IBM Software Group | WebSphere softwareProblemas de Performance Los problemas con el performance de las integraciones realizadas con Broker, usualmente tienden a tomar 2 formas visibles. 1. Por alguna razn no se tienen los tiemposde procesamiento esperados. 2. Se obtienen los tiempos de procesamientoesperados pero el uso del CPU esdemasiado alto. Esto se puede dar debido a Falta de recursos para ejecutar el flujo. Una mala o pobre configuracin delambiente. Demora pordependencia a otrasaplicaciones. Flujos ineficientes. Procesamiento ineficiente o excesivo en losnodos de computo. 11 12. IBM Software Group | WebSphere software