J'ai donné à Node-Red un court essai cette semaine. Il n'est pas clair pour moi s'il prend en charge des flux qui englobent plus d'une demande. Node-Red a-t-il un modèle de demande par flux ou de session par flux?
Ayant travaillé avec des outils de programmation basés sur les flux de données pour la modélisation des processus métier (webMethods et Tibco), je vois que l'une de leurs principales caractéristiques est la capacité de modéliser des sessions et des workflows. Ces outils sont cependant assez volumineux pour la plupart des projets IoT, il serait donc formidable que quelque chose de similaire puisse être accompli avec Node-Red.
Une question de suivi, au cas où Node-Red ne prend pas en charge cela, est de savoir s'il existe des outils simples qui prennent en charge la modélisation graphique des flux de session?
la source
Réponses:
La réponse est non et oui.
Les flux en noeud rouge sont assez statiques, il n'y a aucune notion d'instanciation d'un flux lorsque les premières demandes arrivent de telle sorte que vous pourriez avoir une instance d'un flux par demande.
Il n'y a pas non plus de notion intégrée de session qui vous permettrait d'associer des messages traversant des flux à une session.
Cependant, vous pouvez relativement facilement construire ces choses vous-même. Node-red fournit une notion de flux et d'état global, accessible à l'aide des objets
flow
etglobal
, voir https://nodered.org/docs/writing-functions#storing-data . Ce que vous feriez serait d'envoyer un cookie aux clients, puis d'associer explicitement une demande entrante à un état global ou de flux enregistré. Vous pouvez ensuite écrire du code "compatible avec la session" en fonction de l'état de session enregistré. Cela fonctionne bien dans les nœuds de fonction, mais vous rencontrerez des problèmes avec les nœuds intégrés qui font des choses comme la limite de débit ou les messages de fractionnement et de fusion car ils ne sont généralement pas conscients de la notion de session.Dans l'exemple de pizza, vous maintenez l'état d'une commande dans le flux ou le contexte global et vous accédez à l'état de la commande appropriée en fonction de la valeur du cookie.
la source
La réponse courte est oui , au moins en fonction de cette demande de fonctionnalité :
Cette demande est clôturée par une validation indiquant qu'un nœud de socket Web est ajouté, basé sur un jeton de session.
la source