alternativa Kafka per le piccole attività di IOT

0

siamo una piccola impresa di IOT con sede in Germania. Abbiamo circa 1000 installazioni del nostro pacchetto di sensori con 1-4 sensori ciascuna. Le misurazioni di questi sensori vengono inoltrate al nostro server e le analizziamo con Drools, un motore di regole per Java. Ogni installazione produce non più di 1 misurazioni ogni 10 secondi, quindi abbiamo 100 misurazioni / secondo max. Speriamo di estenderlo a 2000 installazioni nel prossimo anno.

Architettura corrente

Al momento molte applicazioni di piccole dimensioni accettano le misurazioni in vari formati di messaggistica e le mettono su un server redis come coda temporanea. Poi un altro processo li prende e li inoltra al nostro server di drools.

Obiettivo

Vogliamo migliorare l'architettura per rendere il nostro sistema più stabile, ad es. tutto dovrebbe essere bilanciato e replicato. Stiamo eseguendo il nostro ambiente di test in Google Cloud e siamo disposti a utilizzare tutti i servizi cloud necessari, se il prezzo è accettabile

È molto importante che le misurazioni non vengano perse, ad es. durante l'implementazione e mantenere il loro ordine.

Idee e Thoguth

Quindi pensiamo che avrebbe senso avere una memoria persistente per le nostre misurazioni e tirarle (basandosi sull'ultimo ID elaborato) invece di premerle. Per la nostra comprensione, kafka dovrebbe andare bene, ma il processo di installazione è un po 'spaventoso e non abbiamo esperienza con kafka e siamo preoccupati di cosa succede quando qualcosa va storto.

Quindi un'altra soluzione potrebbe essere solo memorizzarli in un database, ad es. MySQL o BigQuery ospitati e nuove misurazioni ogni 500ms circa. Le misure sono molto piccole e potremmo interrogare migliaia di misurazioni con questo approccio, penso.

Hai qualche consiglio?

    
posta SebastianStehle 02.08.2018 - 09:37
fonte

1 risposta

0

Potresti provare i flussi di eventi IBM o MSK di Amazon, entrambi sono Kafka come offerta di servizi. Confluent ha anche una buona offerta di Kafka che fornisce un'interfaccia di riposo per portare i tuoi messaggi nei tuoi argomenti e KSQL, un framework che ti permette di interrogare i tuoi stream usando un linguaggio simile a SQL. Gli stream di eventi IBM utilizzano anche la versione confluente di Kafka.

    
risposta data 02.12.2018 - 16:29
fonte

Leggi altre domande sui tag