Saya memberi Node-Red tes singkat minggu ini. Tidak jelas bagi saya apakah itu mendukung aliran yang mencakup lebih dari satu permintaan. Apakah Node-Red memiliki model permintaan-per-aliran atau sesi-per-aliran?
Setelah bekerja dengan alat pemrograman berbasis aliran data untuk Pemodelan Proses Bisnis (webMethods dan Tibco), saya melihat salah satu fitur utama mereka adalah kemampuan untuk memodelkan sesi dan alur kerja. Alat-alat ini, bagaimanapun, agak besar untuk keperluan sebagian besar proyek IoT sehingga akan lebih bagus jika sesuatu yang serupa dapat dicapai dengan Node-Red.
Sebuah pertanyaan lanjutan, dalam hal Node-Red tidak mendukung ini, adalah apakah ada beberapa alat sederhana yang melakukan mendukung pemodelan grafis dari mengalir sesi?
sumber
Jawaban:
Jawabannya adalah tidak dan ya.
Arus dalam simpul-merah cukup statis, tidak ada gagasan tentang instantiating aliran ketika permintaan pertama datang sedemikian rupa sehingga Anda mungkin memiliki turunan dari aliran per permintaan.
Juga tidak ada gagasan bawaan tentang sesi yang akan memungkinkan Anda untuk mengaitkan pesan yang mengalir melalui arus dengan suatu sesi.
Namun, Anda dapat dengan relatif mudah membangun hal-hal ini sendiri. Node-red memberikan gagasan aliran dan keadaan global, yang diakses menggunakan objek
flow
danglobal
, lihat https://nodered.org/docs/writing-functions#storing-data . Apa yang akan Anda lakukan adalah mengirim cookie ke klien dan kemudian secara eksplisit mengaitkan permintaan masuk dengan keadaan global atau aliran yang tersimpan. Anda kemudian dapat menulis kode yang "sadar sesi" berdasarkan status sesi yang disimpan. Ini berfungsi dengan baik di node fungsi, tetapi Anda akan menemukan beberapa masalah dengan node built-in yang melakukan hal-hal seperti batas tingkat atau pesan split & merge karena ini umumnya tidak mengetahui gagasan sesi.Dalam contoh pizza, Anda akan mempertahankan status pesanan dalam alur atau konteks global dan Anda akan mengakses status pesanan yang sesuai berdasarkan nilai cookie.
sumber
Jawaban singkatnya adalah ya , setidaknya sesuai permintaan fitur ini :
Permintaan ini ditutup dengan komit yang menyatakan bahwa node soket web ditambahkan, yang didasarkan pada token sesi.
sumber