Saya berencana untuk mulai menerapkan use case IoT di bawah ini.
Gunakan kasing
Perangkat IoT akan mengirim pesan 100 menit / menit ke gateway melalui repeater dan gateway akan mentransfer pesan ke cloud. Saya ingin melacak karyawan di suatu organisasi. Sensor akan diperbaiki pada kartu ID mereka. Sensor mengirim data terkait lokasi (sekitar 15KB / pesan) ke gateway melalui pengulang. Ini untuk tujuan analitis. Setelah data diteruskan ke cloud, saya akan melakukan beberapa analisis dan menyimpan ke dalam DB dan ditampilkan di halaman web. Berdasarkan data analitik ini, saya akan menunjukkan lokasi pengguna saat ini dan juga lokasi pengguna yang bergerak dalam rentang waktu tertentu (1 jam atau 2 jam atau 1 hari terakhir).
Saya akan melakukan beberapa pemrosesan data dan mengirimkannya ke front end / DB.
Saya telah mempelajari dasar-dasar IoT dan arsitekturnya. Kemudian saya memutuskan untuk menggunakan arsitektur stack "SMACK" (Spark, Mesos, Akka, Cassandra, Kafka).
Saya memutuskan untuk menggunakan "klien asli Kafka" di gateway untuk mempublikasikan pesan ke cloud.
Haruskah saya menggunakan protokol MQTT untuk mentransfer pesan ke Kafka? Atau MQTT tidak diperlukan untuk use case di atas?
Jika ya, apa manfaat menggunakan MQTT dengan arsitektur "SMACK"?
Jawaban:
Anda tidak harus menggunakan MQTT. Klien Kafka yang terinstal pada kartu ID karyawan dapat mengirim data ke broker kafka di cloud secara langsung. Jadi saat Anda menggunakan Kafka untuk gateway, Anda sebenarnya bisa menggunakan kafka untuk sensor itu sendiri.
Kafka dan MQTT tidak dapat dipertukarkan, mereka memiliki sisi kuat yang berbeda (konsumsi energi, konsumsi bandwidth, throughtput ...) tapi saya pikir Anda tahu itu, dengan asumsi dari kompleksitas tumpukan Anda. Kafka dapat menangani 100rb pesan / menit.
Jika Anda tetap memutuskan untuk menggunakan MQTT, berikut adalah posting blog tentang bagaimana IBM menggunakan MQTT dan Kafka dalam proyek yang sama. Proyek mereka juga tentang mobilitas, jadi saya pikir itu mungkin benar-benar membantu.
Mengelola perangkat IoT dengan Kafka dan MQTT
sumber
Tidak ada masalah dengan hampir semua jenis broker MQTT untuk menangani beban ini, terutama untuk pesan qos = 0 (mungkin dalam kasus Anda). Kami memiliki beban konstan ke broker kami dengan 100.000 pesan masuk (0,5KB) per detik (+ SSL). Masalahnya mungkin muncul dari sisi lalu lintas, bukan dari pps.
Mengenai arsitektur sistem Anda, saran pribadi saya - cobalah membuatnya sesederhana mungkin. Dan rata-rata sederhana - hanya beberapa komponen / layanan perantara. Jika Anda dapat menghubungkan langsung dua layanan - lakukanlah. Anda akan selalu memiliki kemungkinan untuk membuatnya lebih rumit ketika Anda akan mulai menambahkan fitur.
sumber