Apakah ada broker MQTT yang bertahan QoS 1/2 pesan ke disk?

11

Sampai sekarang EMQ (Erlang MQTT Broker) tampaknya tidak bertahan QoS 1/2 pesan ke disk: Bagaimana EMQ bertahan QoS 1/2 pesan?

Jadi jika terjadi reboot server yang tidak terduga, batas memori, atau pesan acara lainnya mungkin hilang meskipun QoS 1/2 tingkat pesan harus disampaikan setidaknya atau tepat sekali.

Apakah ada broker MQTT yang bertahan QoS 1/2 pesan ke disk sehingga memastikan pengiriman?

Ghanima
sumber
2
Silahkan lihat di iot.stackexchange.com/questions/784/…
hardillb

Jawaban:

8

Saya pikir Mosquitto menyimpan pesan dalam memori ke disk.

kegigihan [benar | false] Jika benar, koneksi, data langganan dan pesan akan ditulis ke disk di mosquitto.db di lokasi yang ditentukan oleh persistence_location. Ketika mosquitto dimulai ulang, itu akan memuat ulang informasi yang disimpan di mosquitto.db. Data akan ditulis ke disk ketika mosquitto ditutup dan juga pada interval berkala sebagaimana didefinisikan oleh autosave_interval. Penulisan database kegigihan juga dapat dipaksakan dengan mengirimkan sinyal SIGUSR1 mosquitto. Jika salah, data akan disimpan dalam memori saja. Default ke false.

Ross
sumber
7

VerneMQ adalah contoh broker MQTT yang menjamin pengiriman pesan QoS1 / 2 yang diterima saat ditulis ke disk (menggunakan LevelDB). VerneMQ mirip dengan EMQ yang juga merupakan open-source dan mendukung pengelompokan (walaupun menggunakan teknologi yang berbeda). Pengungkapan penuh, saya seorang insinyur VerneMQ.

Lars Hesel Christensen
sumber
Pertanyaan sampingan: Apakah Anda menawarkan broker VerneMQ publik untuk pengujian dan evaluasi?
Ross
1
Hai @Ross, kami memiliki instance publik yang berjalan di public.vernemq.com:1883, tetapi Anda tidak akan dapat melakukan pengujian beban di sana karena dijalankan pada mesin virtual kecil - jadi jangan berharap itu menjadi sangat performant . Ini juga memiliki batasan pada jumlah koneksi bersamaan yang berasal dari IP tunggal. Jika Anda ingin Anda dapat menghubungi kami dan kami akan dengan senang hati melihat apakah kami dapat mendukung use case Anda. Anda dapat menulis kami di info di vernemq dot com atau mengisi formulir kontak di sini: vernemq.com/services.html
Lars Hesel Christensen
1
Terima kasih, saya tidak perlu melakukan pengujian beban, hanya untuk memeriksa apakah saya dapat terhubung ke broker yang berbeda dan melihat apakah ada masalah kompatibilitas.
Ross
1
Itu mengingatkan, saya, versi publiknya relatif lama - saya akan melihat apakah saya tidak bisa memutakhirkannya ke rilis terbaru hari ini.
Lars Hesel Christensen
5

HiveMQ tampaknya menyediakan berbagai opsi untuk mempertahankan data sesi, termasuk QoS 1/2 pesan.

Opsi kegigihan tercantum di sini :

  • Kegigihan file
  • Kegigihan dalam Memori

Secara default, HiveMQ akan menggunakan file persistence , yang menyimpan semua data ke disk sehingga dapat diambil kapan saja.

Untuk menjamin konsistensi data antara restart broker, HiveMQ menggunakan disk persistence secara default. Itu berarti bahwa bahkan jika broker berhenti atau crash, semua data akan disimpan dan setelah restart broker dapat melanjutkan operasinya seolah-olah tidak ada yang terjadi.

Aurora0001
sumber