Các kịch bản triển khai của ThingsBoard
Các kịch bản triển khai của ThingsBoard
Bài viết này mô tả các kiến trúc triển khai phổ biến được nền tảng ThingsBoard hỗ trợ. Mỗi kịch bản triển khai đều có những ưu điểm và hạn chế riêng. Việc lựa chọn kiến trúc phù hợp phụ thuộc vào các yêu cầu về tổng chi phí sở hữu (TCO), hiệu năng và tính sẵn sàng cao (High Availability – HA).
Nội dung được trình bày theo lộ trình từ các mô hình triển khai đơn giản nhất đến các kiến trúc phức tạp, có khả năng mở rộng cao.
Lưu ý quan trọng: Các tính toán và mức giá nêu trong tài liệu chỉ mang tính tham khảo (ví dụ trên hạ tầng Amazon Web Services – AWS). Chi phí thực tế phụ thuộc vào từng nhà cung cấp dịch vụ đám mây và cấu hình cụ thể. Cần tham khảo trực tiếp nhà cung cấp để có báo giá chính xác.
Xem thêm: Thingsboard là gì?
1. Yêu cầu hiệu năng (Performance Requirements)
Để ước lượng hạ tầng cần thiết cho một giải pháp IoT sử dụng ThingsBoard, cần đánh giá các tham số sau:
- Tổng số:
- Thiết bị (devices)
- Tài sản (assets)
- Khách hàng (customers)
- Người dùng khách hàng (customer users)
- Tenant (đơn vị khai thác)
- Số lượng bản tin tối đa và trung bình mỗi ngày trên mỗi thiết bị.
- Kích thước payload trung bình và tối đa của bản tin.
- Số lượng điểm dữ liệu (data points) trung bình trong mỗi bản tin.
- Giao thức truyền thông hoặc loại tích hợp (MQTT, HTTP, CoAP, LoRaWAN, NB-IoT, v.v.).
- Thời gian lưu trữ dữ liệu (data retention) tính theo năm.
Hiệu năng của ThingsBoard phụ thuộc mạnh vào:
- Số lượng bản tin được gửi từ thiết bị.
- Cấu trúc và số lượng điểm dữ liệu trong mỗi bản tin.
Ví dụ 1: 20.000 thiết bị theo dõi (Trackers)

- 20.000 thiết bị gửi bản tin mỗi phút.
- Cấu trúc bản tin:
```
{
"latitude": 42.222222,
"longitude": 73.333333,
"speed": 55.5,
"fuel": 92,
"batteryLevel": 81
}
```
Phân tích tải hệ thống
- 20.000 kết nối đồng thời.
- 333 bản tin/giây.
- 5 data points/bản tin.
- 1.667 yêu cầu ghi dữ liệu/giây.
- 143 triệu yêu cầu ghi/ngày.
Dung lượng lưu trữ/ngày:
- 1–2 GB nếu dùng Cassandra.
- 7–10 GB nếu dùng PostgreSQL.
Ví dụ 2: 100.000 công tơ thông minh
- 100.000 thiết bị LoRaWAN gửi dữ liệu mỗi giờ.
- Cấu trúc bản tin:
```
{
"pulseCounter": 1234567,
"leakage": false,
"batteryLevel": 81
}
```
- Tốc độ bản tin: 28 bản tin/giây.
- 3 data points/bản tin.
- Không lưu thuộc tính “leakage” (chỉ dùng để tạo cảnh báo).
- 55,5 yêu cầu ghi/giây.
- 4,78 triệu yêu cầu/ngày.
Dung lượng lưu trữ/ngày:
- ~100 MB (Cassandra).
- ~238 MB (PostgreSQL).
Xem thêm: Hướng dẫn đăng nhập vào Cloud VPS của Nhân Hòa
2. Đặc tính hạ tầng cốt lõi
Các tham số ảnh hưởng trực tiếp đến thiết kế hạ tầng:
- Số bản tin đến mỗi giây → Ảnh hưởng chủ yếu đến CPU và RAM.
- Số phiên thiết bị hoạt động đồng thời → Ảnh hưởng đến RAM.
- Số bản tin xử lý qua Rule Engine → Ảnh hưởng đến CPU.
- Số data points được lưu trữ → Ảnh hưởng trực tiếp đến IOPS và hiệu năng cơ sở dữ liệu.
ThingsBoard hỗ trợ mở rộng ngang (horizontal scaling), cho phép tăng số node để xử lý tải CPU/RAM. Tuy nhiên, cần đặc biệt lưu ý số lượng data points được lưu trữ.
Khuyến nghị:
- Nếu dùng PostgreSQL: < 20.000 data points/giây.
- Nếu dùng kiến trúc Hybrid (PostgreSQL + Cassandra):
- Telemetry có thể mở rộng đến 1.000.000 data points/giây (Cassandra).
- Attribute vẫn ghi vào PostgreSQL → giới hạn 20.000 data points/giây vẫn áp dụng.
3. Các kịch bản triển khai
Scenario A – Triển khai máy chủ đơn (Standalone Server)

Mô tả
Phù hợp cho:
- ≤ 300.000 thiết bị
- ≤ 10.000 bản tin/giây
- ≤ 10.000 data points/giây
Tất cả thành phần:
- ThingsBoard
- PostgreSQL
- HAProxy
được cài đặt trên cùng một máy chủ (on-premise hoặc cloud).
Ưu điểm
- Triển khai rất nhanh (≈ 10 phút).
- Dễ vận hành và nâng cấp.
Nhược điểm
- Nâng cấp gây downtime (5–10 phút).
- Không có HA thực sự.
- Không có độ bền dữ liệu cao.
- Hiệu năng bị giới hạn bởi một máy chủ.
Hiệu năng
- Dùng PostgreSQL cho cả entity và telemetry.
- Môi trường ảo trung bình xử lý ~5.000 data points/giây.
Ví dụ TCO (10.000 thiết bị LoRaWAN)
Hạ tầng:
- 1 EC2 m5.large: ~41,66 USD/tháng.
- 500 GB storage: 50 USD/tháng.
- Tổng: ~100 USD/tháng.
Giấy phép ThingsBoard PE:
- 2.999 USD (bao gồm 1 năm update & basic support).
- 1.199 USD/năm cho các năm sau.
TCO:
- ~350 USD/tháng.
- ~0,035 USD/tháng/thiết bị.
- Có Premium Support:
850 USD/tháng (0,085 USD/thiết bị).
Khuyến nghị
- Phù hợp môi trường phát triển, PoC, startup giai đoạn đầu.
- Cần cấu hình backup định kỳ lên object storage (ví dụ: Amazon S3).
- Nên tạo snapshot máy chủ thường xuyên.
Scenario B – Máy chủ đơn với cơ sở dữ liệu tách rời

Mô tả
ThingsBoard chạy trên một máy chủ, cơ sở dữ liệu sử dụng dịch vụ quản lý:
- Amazon RDS
- Azure Database for PostgreSQL
- Google Cloud SQL
Ưu điểm
- Triển khai đơn giản (~1 giờ).
- Dữ liệu được sao lưu và failover tự động.
- Giảm chi phí vận hành DB.
Nhược điểm
- Có downtime khi nâng cấp (~5 phút).
- Chưa đạt HA hoàn chỉnh.
- Bị giới hạn bởi một máy chủ ThingsBoard.
Hiệu năng
- ~5.000 data points/giây.
- Khuyến nghị dùng PostgreSQL cho entity và telemetry.
Ví dụ TCO (10.000 thiết bị)
Hạ tầng:
- EC2 m5.large: ~41,66 USD/tháng.
- RDS PostgreSQL (Multi-AZ): ~200 USD/tháng.
- Tổng: ~250 USD/tháng.
TCO:
- ~500 USD/tháng.
- ~0,05 USD/tháng/thiết bị.
- Premium Support:
1.000 USD/tháng (0,1 USD/thiết bị).
Scenario C – Triển khai Cluster theo kiến trúc Microservices
ThingsBoard hỗ trợ kiến trúc Microservices (MSA) để triển khai cho hàng triệu thiết bị.
Thành phần chính:
- Apache Kafka (message queue)
- Redis (distributed cache)
- Apache Cassandra (NoSQL, tùy chọn)
- PostgreSQL (entity & attribute)
Triển khai tối ưu qua Kubernetes.
Ưu điểm
- Không có điểm lỗi đơn (No SPOF).
- Hỗ trợ HA thực sự.
- Không downtime khi nâng cấp minor version.
- Mở rộng linh hoạt.
Nhược điểm
- TCO cao nếu < 100.000 thiết bị.
Ví dụ 1: 1 triệu công tơ thông minh
- 1.000.000 thiết bị gửi mỗi giờ.
- 280 bản tin/giây.
- 840 data points/giây.
- 72,6 triệu/ngày.
Dung lượng:
- 1,2 GB/ngày (Cassandra).
- 4 GB/ngày (PostgreSQL).
Chi phí hạ tầng: ~1.770 USD/tháng Chi phí Managed Services: 0,01 USD/thiết bị/tháng TCO: ~12.270 USD/tháng ~0,01227 USD/tháng/thiết bị
Ví dụ 2: 1 triệu thiết bị tracker (gửi mỗi phút)

- 16.667 bản tin/giây.
- 83.335 data points/giây.
- 7,2 tỷ/ngày.
- 144 GB/ngày (Cassandra).
- Nhân bản 3 lần → 432 GB/ngày.
Hạ tầng:
- 8 node MQTT
- 15 node ThingsBoard
- 15 node Cassandra
- Kafka, Redis, PostgreSQL
- 100 TB storage
Chi phí hạ tầng: ~13.790 USD/tháng Managed Services: 0,01 USD/thiết bị/tháng
TCO:
- ~27.508 USD/tháng.
- ~0,0275 USD/tháng/thiết bị.
Kết luận
ThingsBoard hỗ trợ ba mô hình triển khai chính:
- Standalone Server – đơn giản, chi phí thấp, phù hợp quy mô nhỏ.
- Single Server + Managed Database – cân bằng giữa chi phí và an toàn dữ liệu.
- Cluster Microservices – HA cao, mở rộng đến hàng triệu thiết bị.
Việc lựa chọn mô hình phụ thuộc vào:
- Số lượng thiết bị
- Tốc độ bản tin
- Yêu cầu HA
- Ngân sách vận hành
- Chiến lược mở rộng dài hạn
Đối với môi trường sản xuất quy mô lớn (>100.000 thiết bị), kiến trúc Cluster Microservices là lựa chọn khuyến nghị nhằm đảm bảo tính sẵn sàng cao, khả năng mở rộng và hiệu năng ổn định lâu dài.


