Kiến trúc
#
Tổng quanMô hình Microservice sử dụng docker swarm cho phép kiến trúc server hoạt động theo cluster, giúp khả năng mở rộng linh hoạt, đáp ứng nhu cầu chịu tải cao và mở rộng tính năng
#
FirewallCụm server đặt trong mạng nội bộ đứng sau firewall, chỉ cho phép dữ liệu tới các cổng dịch vụ cho phép
- 80, 443 : Cổng dịch vụ của web quản trị
- 3028, 3029: Cổng dịch vụ api http
- 1883, 8083, 8883, 8084: Cổng dịch cho kết nối mqtt (mqtt, ws, mqttssl, wss)
#
Giao thức kết nốiMakipos iot platform cung cấp nhiều giao diện API cho phép thiết bị và người dùng (mobile app, web) kết nối. Có thể bổ sung thêm bằng cách xây dựng service gateway tương ứng.
- HTTP (HTTPS)
- MQTT (WS, WSS ,TCP, SSL)
- TCP
- SMS : Do đặc thù của kết nối sms, server sms gateway được đặt tại 1 máy trạm nội bộ riêng có sử dụng SIM module. Các kết nối, giao tiếp sử dụng giao thức này được thực hiện trung gian qua server độc lập này sử dụng (API, webhook)
#
FrontendHoạt động của hệ thống IOT backend không thể thiếu giao diện quản trị hệ thống và dữ liệu dành cho người dùng.
Nhóm service website quản trị được tách biệt với lõi server, sử dụng mạng overlay độc lập, giao tiếp với backend hoàn toàn thông qua giao diện API bảo mật.
Dễ dàng phát triển những giao diện quản trị đặc thù cho từng mục đích.
#
API ServiceNhóm service bao gồm cơ sở dữ liệu, mqtt broker, API service hoạt động trong mạng riêng (overlay network của docker swarm).
Mỗi phần chức năng được tách ra thành service docker container riêng, thuận tiện cho việc cập nhật phát triển từng nhóm chức năng riêng lẻ, mở rộng nhiều container song song cho từng service đáp ứng tương thích với hoạt động thực tế.