Tất cả dịch vụ Phase 2 đã hoạt động ổn định. Backend API trả về đầy đủ 149 settings và 21 extensions ngay sau khởi động. Không còn lỗi crash, OOM, hay polling lỗi mỗi 2 phút.
Vấn đề: ScyllaDB binary bị xóa, không có /dev/aio.
Giải pháp: Cassandra 4.0 đã cài sẵn, dùng cùng CQL interface (port 9042). Giảm JVM heap 1G → 512M để tránh OOM kill.
Kết quả: Service cassandra — active (running). Keyspace trading có sẵn 4 tables:
Vấn đề: Chưa có web UI cho MySQL.
Giải pháp: Tạo config.inc.php, khởi động qua PM2:
Truy cập: http://goldvninvest.online:8888 — HTTP 200.
Vấn đề: Placeholder keys trong config gây lỗi khởi động.
Giải pháp: Xóa placeholder keys. Backend khởi động sạch với channels:
Vấn đề: Placeholder "xxxx..." gây lỗi 400003 mỗi 2 phút.
Giải pháp: Xóa placeholder keys khỏi config. Lỗi polling biến mất.
Vấn đề: cache.js:22 — điều kiện size === 0 không bắt được partial-load race condition, khiến getCache() trả về rỗng ngay sau khởi động.
Giải pháp 1 — Fix condition:
Giải pháp 2 — Pre-seed Redis: Seed đầy đủ 149 settings + 21 extensions vào Redis trước khi backend restart, nên getCache() trả về đầy đủ ngay lập tức.
| Service | Port | Status | Ghi chú |
|---|---|---|---|
| Backend API | 4000 | Healthy | 149 settings, 21 extensions loaded |
| Frontend | 3000 | Healthy | |
| phpMyAdmin | 8888 | Healthy | HTTP 200 |
| Cassandra CQL | 9042 | Healthy | keyspace trading, 4 tables |
| MySQL | 3306 | Healthy | |
| Redis | 6379 | Healthy | 149 settings + 21 extensions pre-seeded |
| Firebase FCM / PUSH | — | Disabled | Graceful — no crash |
| KuCoin Polling | — | Clean | Lỗi 400003 đã hết |
| Hạng mục | Trạng thái | Hành động đề xuất |
|---|---|---|
| Penetration Testing | 🔄 Chưa thực hiện | Thuê đơn vị kiểm tra độc lập |
| WAF (Web App Firewall) | 🔄 Chưa có | Tích hợp Nginx ModSecurity / Cloudflare WAF |
| DDoS Protection | ⚠️ Rate limit cơ bản | Tích hợp Cloudflare DDoS protection |
| Data Encryption at Rest | 🔄 Chưa có | Mã hóa MySQL tablespace (InnoDB encryption) |
| HSM / KMS cho Private Keys | 🔄 Chưa có | Triển khai HashiCorp Vault hoặc AWS KMS |