Sto cercando di superare tutti gli hipster, il buzzwording del pie-in-the-sky e di affrontare una domanda molto semplice e fondamentale:
Che cos'è un'applicazione di streaming?
Secondo il sito di Kafka
"Kafka is used for building real-time data pipelines and streaming apps"
Streaming app ... hmmm. OK, allora che cos'è una "app di streaming" ?! Secondo Quora , uno stream Java è:
[A sequence] of bytes that you can read from (InputStream and its subclasses) or write to (OutputStream and its subclasses)...
Non sembra che quella definizione si adatti. Da quello che posso raccogliere da vari articoli, una "app in streaming" sembra essere un'app che viene costantemente alimentata dai dati. Ma questa definizione non si applica anche a:
- Un servizio HTTP RESTful, i cui client web inviano costantemente dati per tutto il giorno (e anche, interrogandoli per i dati)
- Un broker di messaggi standard (AMQP, ecc.) i cui client sono costantemente in lettura / scrittura nelle code per tutto il giorno
- Qualsiasi server di rete basato su TCP, i cui client TCP leggono e scrivono costantemente dati per tutto il giorno (inclusi i server di gioco MMO)
- ?!?!
Quindi chiedo, perché qualcuno, da qualche parte, ha davvero bisogno di fare chiarezza su questo: " Un'app di streaming è solo alla moda, parola d'ordine di moda hipster o c'è una definizione distintiva per un'app di streaming che lo distingue da tutti i miei esempi sopra? "