Thiết kế hạ tầng
Tổng quan
Cấu trúc hạ tầng và thông tin môi trường của dịch vụ GMAC MEO. Hệ thống bao gồm 2 thành phần: ứng dụng GMAC (dịch vụ Web) và chương trình scraping (xử lý batch).
Danh sách môi trường
| Môi trường | Mục đích | Ghi chú |
|---|---|---|
| Môi trường phát triển (dev) | Phát triển & xác nhận hoạt động | Laradock (Docker) |
| Môi trường staging (staging) | Kiểm tra & thử nghiệm | |
| Môi trường production (prod) | Vận hành | |
| Môi trường mirror production (staging.prod-mirror) | Kiểm tra với dữ liệu production |
Môi trường OEM
| Môi trường | Mục đích |
|---|---|
| GCOR Production | Dịch vụ OEM cho GCOR |
| PIPIT Production | Dịch vụ OEM cho PIPIT |
| KUCHIKOMI-ONE | Phiên bản chuyên đánh giá |
Cấu trúc GMAC Server
| Mục | Công nghệ |
|---|---|
| Web Server | Nginx |
| Ứng dụng | PHP 7.1.3+ / Laravel 5.7 |
| Frontend | Vue.js 2.6 SPA |
| Cơ sở dữ liệu | MySQL 8+ (cấu hình Read/Write Replica) |
| Cache/Session | Redis |
| Lưu trữ file | AWS S3 |
| Container | Docker (Laradock) |
| Build tool | Laravel Mix (Webpack) |
Cấu trúc Scraping Server
| Mục | Công nghệ |
|---|---|
| Ngôn ngữ | Python 3.10 |
| Framework | Django 5.0.2 |
| Tự động hóa trình duyệt | Playwright 1.41.2 (Chromium) |
| Dự phòng | Selenium 4.15.0 + undetected-chromedriver |
| Màn hình ảo | Xvfb |
| Quản lý process | supervisord |
| WSGI Server | Gunicorn 21.2.0 |
| Container | Docker (Python 3.10-slim) |
Cấu trúc AWS
| Dịch vụ | Mục đích |
|---|---|
| S3 | Lưu trữ ảnh chụp màn hình và file (bucket riêng cho mỗi hệ thống) |
| Lambda | Khởi động job scraping theo lịch |
| Batch | Thực thi job scraping (56 job: 28 normal + 28 reverse) |
Liên kết dịch vụ bên ngoài
| Dịch vụ | Mục đích |
|---|---|
| Google Business Profile API | Quản lý location, đánh giá, bài đăng |
| Google OAuth | Xác thực người dùng |
| Google Search | Đối tượng scraping thứ hạng MEO |
| Instagram API | Liên kết mạng xã hội |
| Slack Webhook | Thông báo lỗi, thông báo tóm tắt thực hiện |
| OpenAI API | Tự động tạo tóm tắt bài đăng |