www.objis.com - Formation ActiveMQ 1 1
Sommaire Introduction ActiveMQ et Middleware Messages Introduction Apache ActiveMQ Introduction middleware MOM et JMS Configuration ActiveMQ Connection Stockage de messages Sécurité Développement d'applications ActiveMQ Java avec Spring Jms Intégration Tomcat et Jboss PHP / Pytho / Ruby / Ajax / Rest Aspects avancés Administration Monitoring Tuning www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 2
Introduction activeMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 3
Introduction activeMQ Démarrage ActiveMQ 5.4.2 www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 4
Introduction activeMQ Configuration ActiveMQ 5.4.2 www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 5
Introduction middleware orientés messages Introduction ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 6
Configuration ActiveMQ : Connection Connection client ↔ broker Conection broker ↔ broker www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 7
Configuration ActiveMQ : Connecteurs de transport Connection client ↔ broker Conection broker ↔ broker Broker embarqué Réseau de brokers Réseau statique protocole 'failover' Réseau dynamique protocole multicast / discovery Clustering www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 8
Configuration ActiveMQ : Connecteurs de transport 1 Logguer les commandes 2 3 Permet reconnection automatique ou connection à un nouveau broker si le premier est indisponible www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 9
Configuration ActiveMQ : Protocole de transport Configuration dans conf\activemq.xml Rendu console au démarrage d'ActiveMQ 1 2 3 4 5 6 7 www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 10
Configuration ActiveMQ : Protocole de transport Ajouter Configuration protocol tcp Rendu console au démarrage d'ActiveMQ 1 2 www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 11
Configuration ActiveMQ : Bénéfices TCP Fiabilité www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 12
Configuration ActiveMQ : Stockage de messages Specs JMS : 2 types de livraison messages Type 1 : Message Persistant (log msg sur disque) Type 2 : message non persistant ActiveMQ supporte les 2 types ActiveMQ supporte en plus le 'message recovery' Les messages sont en cache mémoire Configuration simple via balise dans activemq.xml Stockage different pour Queues et Topics Optimisations pour Messages Topics www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 13
Stockage de messages dans Queues www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 14
Stockage de messages dans Topic www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 15
Stratégie de stockage KahaDB Recommandée depuis ActiveMQ 5.3 Basée sur fichiers Transactionelle Optimisée et conçue pour stockage rapide Utilise log transactionnel pour ses index 1 seul fichier index pour toutes les Destinations Utilisé en prod avec 10.000 connexions actives (1 queue par connection) Balise <persistenceAdapter> dans activemq.xml www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 16
Stratégie de stockage KahaDB le but de KahaDB est d’apporter la vélocité de Kaha Message Store et la fiabilité de AMQ Message Store. Ce nouveau moteur de persistance offre ainsi : Journal transactionnel assurant la consistance des données Réplication des données très performante Support de plusieurs nœuds slaves Aucun point central d’échec, le noeud master peut être reconstruit sur un slave suite à une défaillance KahaDB se base sur ZooKeeper (service de coordination pour applications distribuées) pour assurer l’élection d’un nouveau nœud master. http://zookeeper.apache.org/ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 17
Stratégie de stockage KahaDB Balise <persistenceAdapter> dans activemq.xml www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 18
Configuration ActiveMQ : Sécurité ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 19
Stratégie de stockage KahaDB Pour permettre stratégie stockage KahaDB , ajouter balise <persistenceAdapter> www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 20
Stratégie de stockage KahaDB www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 21
Fichier db-<numero>.log : messages 32MO 1 2 www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 22
Fichier db.data : indexes Permet de retrouver plus vite un message donné www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 23
Fichier db.redo : recupération Permet de retrouverétat messages avant arrêt matériel www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 24
Stratégie de stockage KahaDB www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 25
Optimisations KahaDB Copie du cache vers le fichier d'indexes En fonction du temps ou en fonction d'un seuil Temps → Par défaut : toutes 5 s Param : checkPointInterval Seuil → par défaut Param : indexWriteBatchSize http://fusesource.com/docs/broker/5.4/persistence/KahaDB-Cache.html www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 26
Développement d'applications avec Spring JMS (Java) ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 27
Développement d'applications avec EJB3 (Java) ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 28
Développement d'applications avec PHP /Ruby / Python ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 29
Administration ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 30
Administration ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 31
Administration ActiveMQ www.objis.com - Formation ActiveMQ www.objis.com - Formation SPRING 32