Rilis registri perangkat berbasis MongoDB baru di Eclipse Hono
Eclipse Hono seperti yang dijelaskan di situs resminya, adalah platform konektivitas IoT yang menyediakan API terpadu untuk menghubungkan sejumlah besar perangkat IoT ke backend terlepas dari berbagai protokol komunikasi yang digunakan oleh perangkat. Hono menawarkan dukungan langsung untuk perangkat yang berkomunikasi melalui protokol seperti AMQP, COAP, HTTP, dan MQTT. Eclipse Hono terdiri dari beberapa layanan mikro, yang dikemas sebagai wadah Docker dan disebarkan dalam sistem orkestrasi wadah seperti Kubernetes.
Registri perangkat adalah salah satu di antara komponen tersebut, di mana Hono melacak semua penyewa, perangkat, dan kredensial perangkatnya. Sangat penting bagi Hono karena adaptor protokol menggunakan registri perangkat untuk memverifikasi apakah penyewa dan perangkat terdaftar dan diaktifkan. Selain itu, adaptor protokol menggunakan registri perangkat untuk mengotentikasi perangkat sebelum menerima pesan respons telemetri, peristiwa, atau perintah apa pun. Registri perangkat juga mengimplementasikan API pengelolaan perangkat berbasis HTTP untuk mengelola penyimpanan penyewa, perangkat, dan informasi kredensial.
Hingga versi 1.3.0, Hono hanya menawarkan satu implementasi registri perangkat, yang menggunakan sistem file lokal yang mendasarinya untuk menyimpan data. Registri perangkat berbasis file ini berfungsi dengan baik sebagai registri perangkat demo. Namun, ini tidak dimaksudkan untuk digunakan di lingkungan produksi, karena komponen tidak dapat dengan mudah diskalakan secara horizontal. Oleh karena itu, pengguna harus menerapkan registri perangkat mereka sendiri untuk menggunakan Hono dalam pengaturan produksi. Dengan dirilisnya Hono 1.3.0, ini telah diatasi dan Anda tidak perlu mengimplementasikan registry perangkat Anda sendiri untuk menggunakan Hono di lingkungan produksi.
Registry perangkat berbasis MongoDB baru
Sekarang Hono menawarkan satu lagi implementasi registri perangkat, yang menggunakan database MongoDB untuk menyimpan data. Berbeda dengan mitra berbasis file, registri perangkat berbasis MongoDB ini dimaksudkan untuk digunakan dalam produksi dan juga dalam pengaturan demo. Ini menyimpan penyewa, perangkat, dan informasi kredensial dalam koleksi terpisah di database MongoDB yang mendasarinya. MongoDB mendukung penskalaan secara horizontal menggunakan teknik seperti sharding dan distribusi data. Dengan demikian, registri ini dapat memanfaatkan skalabilitas MongoDB untuk memperluas dirinya sendiri tanpa kesulitan.
Selain itu, Anda dapat dengan mudah mengamankan titik akhir HTTP di registri perangkat MongoDB menggunakan mekanisme otentikasi dasar. Ini berarti bahwa klien perlu mengautentikasi dengan registri perangkat berbasis MongoDB dengan memberikan nama pengguna dan kata sandi untuk mengelola penyewa, perangkat, dan kredensial. Anda dapat mengaktifkan atau menonaktifkan mekanisme otentikasi dengan menyetel properti konfigurasi hono.registry.http.authenticationRequired
untuk benar
atau salah
. Untuk informasi lebih lanjut tentang cara mengonfigurasi registri perangkat berbasis MongoDB, silakan lihat konfigurasi Registri Perangkat berbasis MongoDB.
Instal Eclipse Hono dengan registri perangkat MongoDB menggunakan diagram helm
Repositori paket Eclipse IoT menghosting diagram kemudi, yang dapat Anda gunakan untuk menginstal Hono di cluster Kubernetes. Secara default, diagram kemudi Hono menyebarkan registri perangkat berbasis file. Saya akan menunjukkan cara menginstal Hono dengan registri perangkat berbasis MongoDB menggunakan diagram helm Hono. Saya berasumsi bahwa Anda sudah memiliki cluster Kubernetes yang sedang berjalan.
Langkah pertama adalah menambahkan repositori grafik paket Eclipse IoT menggunakan perintah di bawah ini. Perintah ini menambahkan repositori menggunakan nama Eclipse-iot
.
$ helm repo tambahkan Eclipse-iot https://Eclipse.org/packages/charts
Sekarang gunakan perintah di bawah ini untuk menyebarkan Hono dengan registri perangkat berbasis MongoDB ke namespace hono
.
$ helm install --set deviceRegistryExample.type=mongodb,mongodb.createInstance=true --dependency-update -n hono Eclipse-hono Eclipse-iot/hono
Seperti yang Anda lihat di atas, saya telah menetapkan nilai untuk properti deviceRegistryExample.type
ke mongodb
. Ini mengonfigurasi bagan untuk menyebarkan registri berbasis MongoDB alih-alih registri berbasis file default.
Pada perintah di atas, saya telah mengatur properti mongodb.createInstance
untuk benar
. Nilai defaultnya adalah false
dan jika disetel ke true
, lalu bagan menyebarkan instans database MongoDB baru sebagai layanan mikro terpisah dan menggunakan instans database tersebut untuk menyimpan data registri perangkat. Jika Anda lebih suka menggunakan instance database MongoDB yang sudah ada dan tidak membuat instance baru, setel mongodb.createInstance
menjadi salah
. Dalam hal ini, gunakan properti konfigurasi koneksi MongoDB di bawah ini untuk menunjuk ke database MongoDB yang sudah ada.
mongodb:host:# Nama host atau alamat IP instans MongoDB. port:# Port tempat instance MongoDB mendengarkan. dbName:# Nama database MongoDB yang akan digunakan oleh aplikasi registry perangkat. username:# Nama pengguna yang akan digunakan untuk otentikasi ke instance MongoDB. kata sandi:# Kata sandi yang digunakan untuk mengautentikasi ke instans MongoDB.
Dengan langkah-langkah di atas, sekarang Anda seharusnya sudah menginstal Hono dengan registry perangkat berbasis MongoDB di cluster Kubernetes yang diberikan. Anda juga dapat memverifikasi instalasi. Untuk informasi lebih lanjut tentang cara memverifikasi instalasi, silakan merujuk ke halaman README dari bagan kemudi Hono.