Créer un stream
Un stream est un algorithme distribué dédié au Realtime Streaming Analytics
Contrairement aux applications distribuées ou micro-services classiques qui vous obligent à coder chaque service indépendamment, grâce au Streams Store, vous pouvez gérer tous vos streams et leurs dépendances, les publier pour les rendre disponibles et consommer les streams créés par d'autres. Un stream est composé de fonctions lambdas, chacune peut être exécutée en parallèle sur des centaines de nodes et d'enpoints. Créez et publiez de nouvelles versions sans limite pour gérer les évolutions de vos streams; ils se déploient automatiquement sur tous les nodes sélectionnés.
Ajouter un nouveau stream
Accéder au Streams Store puis sélectionner le bouton créer un stream.
Entrer un nom et valider.
Le stream est créé et la vue complète apparaît.
Éditer les informations d'un stream
Sur l'onglet général il est possible d'ajouter une description et une image pour illustrer votre stream sur le Streams Store.
Ajouter une version
Pour écrire le code de votre stream vous devez créer une version
Cliquer sur Ajouter une première version, entrer un numéro de version, une description (optionelle) et appuyez sur Entrer (guide des versions).
Générez l'algorithme
Rendez-vous sur l'onglet code qui affiche un template par défaut.
Editez-le, par exemple:
...
.reply("done", (stream, event) -> {
return event.resource()
.set("message", "mon premier stream";)
});
Cliquer sur enregistrer pour compiler le code et générer générer l'algorithme. L'onglet package présente l'algorithme sous forme d'arbre logique avec une ligne par fonction lambda.
Affectez des ressources
Chaque fonction lambda peut etre exécutée en parallèle sur plusieurs nodes et endpoints (threads par node).
Sélectionnez le nombre d'endpoints souhaités en cliquant sur le nombre à droite de l'URL réseau d'une lambda
Sélectionnez les nodes d'exécution (en cliquant sur le nombre de nodes, puis en sélectionnant leur nom dans le modal)
Les ressources totales affectées au stream sont mises à jour: le nombre de nodes, le nombre d'endpoints, le CPU et l'espace disque théorique
Publiez votre stream
Pour pouvoir exécuter votre stream, celui-ci doit être publié
Cliquer sur publier dans l'onglet général
La disponibilité et le statut courant du stream sont automatiquement supervisés
La disponibilité est calculée sur 30 jours glissants et peut être explorée par heur et par jour. Chaque fonction lambda affiche sont statut en temps réel
Générez un token d'accès
Cliquer sur s'abonner en bas à gauche de l'onglet général pour obtenir token d'accès. Vous pouvez donner un nom et une description à votre abonnement.
Testez votre stream
Utiliser votre éditeur REST/JSON favoris ou entrez la commande suivante en remplaçant $token
par le token de votre abonnement (cliquer dessus pour le copier automatiquement) :
curl -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -d '{ "alert": "no" }' -X POST http://localhost:4455/app/demo/api
Votre stream répond
{
"status": "OK",
"message": "mon premier stream"
}
Tester l'autre cas avec alert=true
curl -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -d '{ "alert": "true" }' -X POST http://localhost:4455/app/demo/api
Votre stream répond
{
"status": "OK",
"message": "Alert received"
}