Le composant camel-kafka dédié au framework Camel et permettant des interactions avec le bus Kafka est disponible : camel-kafka La documentation se trouve là : Usage
Le composant camel-kafka dédié au framework Camel et permettant des interactions avec le bus Kafka est disponible : camel-kafka La documentation se trouve là : Usage
Dans la même lignée que le mariage Thrift-Camel, ça me trottait depuis longtemps dans la tête de marier Kafka et Camel. Kafka est un bus événementiel très performant de type publish/subscribe. Il gère de la persistance, se coordonne avec Zookeeper fonctionne en cluster. J’avais dans l’idée de créer un composant Camel pour produire et consommer des messages et c’est chose faite.
Faire communiquer Thrift et Camel
Dans le cadre de mes pérégrinations architecturales, j’étais tombé au hasard d’un surf sur des slides présentant l’architecture ultime en terme de performances. Cette archi utilisait Thrift et Camel. Thrift servant de protocole et de transport pour communiquer avec un bus Camel. Ça m’a intrigué car le composant Thrift n’existe pas chez Camel. Alors, je me suis arraché le peu de cheveux qu’il me reste et voici la solution.
Aujourd’hui nous verrons comment publier un web service depuis Camel. Il y a plusieurs façons de le faire. En fait c’est très simple avec Spring. Cependant, ça l’est moins quand il faut traiter une requête entrante et déclencher le bon routage en fonction de la méthode invoquée.
Dans le cycle de développement de routes Camel, la phase la plus importante est la conception. Cette conception consiste à dessiner les routes en utilisant les EIP, le nom des routes et en spécifiant le format des messages. Il y a deux solutions pour dessiner ces routes.
Camel, Tomcat, camel-exec et camel-file
Il est tout à fait possible d’utiliser Camel pour effectuer différentes tâches de routage ou de connexion au sein d’un War déployé dans un Tomcat. Les principes de développement de Camel sont les mêmes.
Dans cet exemple, nous allons créer un War exécutant une route Camel simple : attendre la mise à jour d’un fichier, exécuter une commande shell et enfin traçer le résultat de cette commande dans un fichier de log.
Premiers pas avec Camel et Fuse
Nous allons faire nos premiers pas en développant un bundle OSGi basé sur Spring et Camel sans utiliser Maven (utilisation de ANT). Dans cet exemple, nous allons créer un bundle qui attend une requête GET HTTP, qui trace le contenu dans un fichier et retourne une page Web au navigateur. Il s’agit d’un exemple sans JSP et sans servlet.