Overall Architecture
Thiết kế kiến trúc hệ thống tổng thể, công nghệ Cloudflare Serverless và ranh giới các Engine
1. Document Purpose
Click to view detailed specifications & content
Tài liệu Thiết kế Hệ thống (System Design Document - SDD) này mô tả kiến trúc tổng thể, các thành phần kỹ thuật, cơ chế tích hợp AI và luồng xử lý dữ liệu của hệ thống EduOne Adaptive Learning Engine (EduOne AI-Powered Personalization & Content Creation System).
Tài liệu này được biên soạn nhằm:
- Làm cơ sở hướng dẫn triển khai kỹ thuật cho đội ngũ phát triển (Developers, DevOps).
- Đặc tả kiến trúc tích hợp hệ thống dịch vụ Cloudflare-native nhằm tối ưu hóa hiệu năng, khả năng mở rộng quy mô và chi phí vận hành.
- Mô tả chi tiết giao tiếp và ranh giới (bounded contexts) giữa các công cụ xử lý nghiệp vụ (Engines).
- Định nghĩa kiến trúc tích hợp AI có kiểm duyệt và giải thích được.
Tài liệu này không bao gồm:
- Chi tiết thiết kế database schema cụ thể của từng bảng (sẽ được mô tả chi tiết tại SDD Part 2: Data Architecture).
- Đặc tả kỹ thuật các đầu cuối API (sẽ được mô tả tại SDD Part 3: API Specification).
- Script triển khai cơ sở hạ tầng (sẽ được mô tả tại SDD Part 5: Deployment & Operations).
2. Core Design Principles
Click to view detailed specifications & content
Kiến trúc hệ thống được xây dựng bám sát theo 7 nguyên tắc thiết kế cốt lõi sau:
2.1. AI-First (AI là trọng tâm của quy trình)
AI không chỉ đơn thuần là các tính năng bổ sung nhỏ lẻ, mà được thiết kế như một phần tích hợp sâu sắc trong luồng công việc nghiệp vụ. Tuy nhiên, AI không hoạt động tự do mà luôn được bao bọc bởi các bộ lọc chất lượng tự động và chốt chặn phê duyệt của con người:
[Yêu cầu từ người dùng]
│
▼
[Luồng công việc (Workflow)]
│
▼
[Mô hình AI (LLM)]
│
▼
[Xác thực chất lượng tự động (Validation)]
│
▼
[Con người kiểm duyệt (Human Review)]
│
▼
[Xuất bản học liệu (Publish)]2.2. Edge-Native (Xử lý tại biên mạng Edge)
Toàn bộ các yêu cầu (requests) của học viên, giáo viên và đội ngũ nội dung đều được định tuyến và xử lý ngay tại các node mạng biên gần người dùng nhất thông qua mạng lưới Edge của Cloudflare. Điều này giúp tối ưu hóa tối đa tốc độ phản hồi (latency), tăng khả năng bảo mật hạ tầng và đơn giản hóa việc triển khai.
2.3. Serverless (Kiến trúc không máy chủ)
Hệ thống hoàn toàn loại bỏ việc cài đặt, quản trị hệ điều hành, máy chủ ảo (VM) hoặc các cụm container (Kubernetes). Mọi thành phần từ Front-end (Cloudflare Pages), API/Back-end (Cloudflare Workers) cho đến Cơ sở dữ liệu (Cloudflare D1, R2, Vectorize) đều chạy dưới dạng Serverless, tự động mở rộng quy mô (auto-scale) theo số lượng yêu cầu thực tế và tối ưu hóa chi phí khi không có lưu lượng truy cập.
2.4. Event-Driven (Kiến trúc hướng sự kiện)
Các quy trình nghiệp vụ chạy lâu hoặc không đồng bộ (như tạo bản thảo học liệu bằng AI, chạy bộ lọc QA tự động, gửi duyệt và phân phối đề xuất mới) được quản lý thông qua cơ chế kích hoạt bằng sự kiện (events) và hàng đợi (queues), giảm tải cho các luồng xử lý đồng bộ thời gian thực.
2.5. Explainable (Minh bạch và giải thích được)
Hệ thống lưu giữ đầy đủ nhật ký vết đề xuất (Recommendation Log) và các bằng chứng học tập liên quan (Evidence Trace). Mọi quyết định cá nhân hóa đều phải có thể lý giải rõ ràng, giúp giáo viên dễ dàng đánh giá độ tin cậy của mô hình đề xuất AI.
2.6. Human-in-the-Loop (Con người nắm giữ quyền kiểm soát)
AI đóng vai trò trợ lý tăng năng suất và đề xuất thông minh. Hệ thống thiết lập chốt chặn kỹ thuật ngăn AI tự động gửi bài học chưa duyệt cho học sinh, đồng thời giáo viên luôn có quyền tối cao trong việc ghi đè (override) quyết định đề xuất của hệ thống.
2.7. Cloudflare-Native (Tối ưu hóa các dịch vụ Cloudflare)
Hệ thống ưu tiên sử dụng tối đa các giải pháp nằm trong hệ sinh thái Cloudflare nhằm tạo ra một kiến trúc nhất quán, bảo mật cao và giảm thiểu sự phức tạp khi tích hợp các dịch vụ bên ngoài.
3. High-Level Architecture
Click to view detailed specifications & content
Sơ đồ kiến trúc tổng thể của hệ thống EduOne Adaptive Learning Engine trên hạ tầng Edge Cloudflare:

┌──────────────────────────┐
│ Trình duyệt Web │
│ (Cloudflare Pages Host) │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ Cloudflare Access + WAF │
│ (Xác thực & Bảo vệ biên) │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ Cloudflare API Gateway │
│ (Định tuyến & Giới hạn)│
└────────────┬─────────────┘
│
┌──────────────────────┴──────────────────────┐
▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐
│ Recommendation APIs │ │ Content APIs │
└─────────────┬────────────┘ └─────────────┬────────────┘
│ │
└──────────────────────┬──────────────────────┘
│
▼
┌──────────────────────────┐
│ Cloudflare Workers │
│ (Lớp ứng dụng Serverless)│
└────────────┬─────────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
▼ ▼ ▼
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Learner Engine │ │Recommendation Engine │ │ Content Engine │
│ (Cập nhật năng lực) │ │ (Xử lý thuật toán) │ │ (Sinh nội dung AI) │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
│ │ │
└─────────────────────────────┼─────────────────────────────┘
│
▼
┌──────────────────────────┐
│ Cloudflare Workflows │
│ (Quản lý quy trình) │
└────────────┬─────────────┘
│
┌──────────────────────┴──────────────────────┐
▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐
│ Cloudflare AI Gateway │ │ Cloudflare Queues │
│ (Bộ đệm & Switch Model) │ │ (Hàng đợi không đồng bộ)│
└─────────────┬────────────┘ └──────────────────────────┘
│
▼
┌──────────────────────────┐
│ Providers AI │
│ (Gemini / OpenAI / Claude│
└──────────────────────────┘4. System Context Diagram
Click to view detailed specifications & content
Hệ thống hoạt động tương tác với các tác nhân (Actors) và hệ thống bên ngoài:
┌─────────────┐
│ Học viên ├────────┐
└─────────────┘ │
┌─────────────┐ │
│ Giáo viên ├──────┐ │
└─────────────┘ │ │
┌─────────────┐ ▼ ▼
│ Content ├─────➔[ HỆ THỐNG EDUONE ADAPTIVE LEARNING ENGINE ]
│ Author │ ▲ ▲
└─────────────┘ │ │
┌─────────────┐ │ │
│ Reviewer ├──────┘ │
└─────────────┘ │
┌─────────────┐ │
│ Sys Admin ├────────┘
└─────────────┘
│
▼ (API Calls via AI Gateway)
┌──────────────────────────────┐
│ Cloudflare AI Gateway │
└──────────────┬───────────────┘
│
├──────────────────────┬──────────────────────┐
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Google Gemini │ │ OpenAI GPT │ │Anthropic Claude│
│ API Provider │ │ API Provider │ │ API Provider │
└────────────────┘ └────────────────┘ └────────────────┘5. Technology Stack
Click to view detailed specifications & content
Hệ thống sử dụng trọn bộ giải pháp Cloudflare-native Stack kết hợp các công nghệ Front-end hiện đại:
| Thành phần chức năng | Công nghệ / Dịch vụ áp dụng | Mô tả vai trò |
|---|---|---|
| Front-end Host | Cloudflare Pages | Lưu trữ và phân phối ứng dụng tĩnh (SPA) nhanh chóng tại Edge. |
| Front-end Framework | React + Vite + TypeScript | Xây dựng giao diện ứng dụng nhanh, tối ưu hóa kiểu dữ liệu. |
| Hiệu ứng chuyển động | Motion (Framer Motion) | Tạo hiệu ứng micro-animations mượt mà cho trải nghiệm học tập. |
| Back-end Serverless | Cloudflare Workers | Chạy các hàm API Back-end cực nhanh, không máy chủ tại Edge. |
| Engine Workflow | Cloudflare Workflows | Điều phối các luồng xử lý không đồng bộ dài hạn (stateful workflows). |
| Cơ sở dữ liệu SQL | Cloudflare D1 | Hệ quản trị cơ sở dữ liệu quan hệ SQL (SQLite-based) Serverless tại Edge. |
| Object Storage | Cloudflare R2 | Kho lưu trữ đối tượng (tương thích S3) lưu file bài đọc, media, log thô. |
| Vector Database | Cloudflare Vectorize | Lưu trữ vector hóa (embeddings) phục vụ tìm kiếm ngữ nghĩa học liệu. |
| AI Routing & Cache | Cloudflare AI Gateway | Gateway quản lý API AI: caching, retry, rate limit, logging, switch provider. |
| API Management | Cloudflare API Gateway | Định tuyến API, kiểm tra token xác thực JWT, giới hạn lưu lượng truy cập. |
| Authentication | Cloudflare Access + OAuth | Xác thực danh tính người dùng và tích hợp đăng nhập một chạm. |
| Security & WAF | Web Application Firewall (WAF) | Chống tấn công DDoS, lọc bot độc hại và chống SQL injection. |
| Bot Detection | Cloudflare Turnstile | Giải pháp CAPTCHA thông minh, bảo vệ các biểu mẫu nộp bài/đăng nhập. |
| CDN & Caching | Cloudflare Edge Caching | Cache các API thông tin tĩnh của bài học, tăng tốc truy cập toàn cầu. |
| Hàng đợi sự kiện | Cloudflare Queues | Đảm bảo truyền nhận dữ liệu sự kiện an toàn giữa các worker. |
| Observability | Cloudflare Analytics & Workers Logs | Theo dõi hiệu năng API, lỗi runtime và giám sát lưu lượng thời gian thực. |
| Secrets Manager | Cloudflare Workers Secrets | Lưu trữ an toàn các thông tin nhạy cảm, API keys của nhà cung cấp AI. |
6. Core Processing Components
Click to view detailed specifications & content
Hệ thống được chia thành 9 phân hệ (components) kỹ thuật riêng biệt:
Cloudflare Pages Host (1. Frontend Client Application)
- Trách nhiệm: Hiển thị giao diện cho học viên làm bài, dashboard quản lý lớp cho giáo viên, form soạn thảo AI cho content team, và hàng đợi phê duyệt của reviewer.
- Đặc điểm: Ứng dụng SPA (Single Page Application) sử dụng React, đóng gói bằng Vite, giao tiếp với Back-end 100% qua API RESTful.
Cloudflare API Gateway (2. API Gateway Layer)
- Trách nhiệm: Đầu mối tiếp nhận mọi request, thực hiện lọc WAF, xác thực token bảo mật (JWT) qua Cloudflare Access, định tuyến (routing) request tới các Worker tương ứng, và giới hạn tần suất gọi (rate limiting).
3. Learner Engine
- Trách nhiệm: Tiếp nhận bài nộp (submissions), làm sạch dữ liệu bẩn thông qua hàng đợi (Queues), cập nhật chỉ số Mastery Estimate và Confidence Score vào cơ sở dữ liệu D1.
4. Recommendation Engine
- Trách nhiệm: Thực hiện lọc học liệu, tính toán xếp hạng độ khớp năng lực và sinh ra đề xuất bài học tiếp theo (Next Activity) kèm lý giải (Reasoning).
AI Content Studio (5. Content Engine)
- Trách nhiệm: Tiếp nhận yêu cầu soạn thảo học liệu, xây dựng prompt có cấu trúc, tương tác qua AI Gateway để sinh bản thảo bài học/quiz và chạy bộ luật kiểm tra chất lượng (Quality Checks).
6. Review Engine
- Trách nhiệm: Quản lý hàng đợi phê duyệt học liệu, lưu giữ các phiên bản (versioning), checklist kiểm duyệt và xuất bản (Publish) học liệu vào thư viện.
7. Knowledge Engine
- Trách nhiệm: Quản lý danh mục kỹ năng (skills), chỉ báo (indicators), mối quan hệ điều kiện tiên quyết (prerequisites) và kho lưu trữ học liệu chính thức (Approved Content Library).
8. Analytics Engine
- Trách nhiệm: Tổng hợp dữ liệu làm bài của học sinh để báo cáo tiến trình lớp học, thống kê hiệu năng làm việc của đội nội dung và báo cáo chi phí API AI tiêu thụ.
9. Administration Engine
- Trách nhiệm: Quản lý phân quyền người dùng (RBAC), cấu hình cài đặt hệ thống và ghi nhận nhật ký kiểm toán (Audit Logs) cho các hành động thay đổi nhạy cảm.
7. AI Integration Architecture
Click to view detailed specifications & content
Để đảm bảo tính linh hoạt, bảo mật và tối ưu chi phí, hệ thống không bao giờ gọi trực tiếp API của nhà cung cấp AI từ Front-end hoặc từ Worker nghiệp vụ chính, mà bắt buộc phải định tuyến qua Cloudflare AI Gateway:
┌─────────────────┐ ┌─────────────────┐ ┌───────────────────┐
│ Front-end Client│──────➔│Cloudflare Worker│──────➔│ AI Gateway │
└─────────────────┘ └─────────────────┘ └─────────┬─────────┘
│ (Cache, Retry, Switch)
▼
┌───────────────────┐
│ AI Provider API │
│ (Gemini, OpenAI) │
└───────────────────┘Các tính năng cốt lõi của Cloudflare AI Gateway trong kiến trúc:
- AI Caching: Tự động lưu trữ các kết quả phản hồi của AI đối với những yêu cầu (prompt) giống nhau (ví dụ: tạo lại bài tập cùng cấu trúc). Tác giả gọi lại prompt cũ sẽ nhận ngay kết quả từ cache biên mạng mà không phát sinh chi phí token API.
- Auto-Retry & Fallback: Tự động thử lại khi API nhà cung cấp báo lỗi 503, hoặc tự động chuyển hướng request sang nhà cung cấp dự phòng (ví dụ: chuyển từ OpenAI GPT-4o sang Google Gemini 1.5 Pro) nếu nhà cung cấp chính bị quá tải.
- Cost & Budget Limits: Cấu hình giới hạn số lượng request hoặc số tiền sử dụng hàng tháng theo từng mô hình/tác vụ để tránh chi tiêu vượt ngân sách.
- Model Version Abstraction: Ẩn các chi tiết model version cụ thể đằng sau các alias (ví dụ: gọi alias
/v1/content-generatorthay vì cấu hình cứng modelgemini-1.5-pro-001trong code).
8. AI Task Classification & Execution Strategy
Click to view detailed specifications & content
Để tiết kiệm tài nguyên và kiểm soát rủi ro, hệ thống phân định rõ ràng các tác vụ được phép sử dụng AI (Generative AI) và các tác vụ cấm sử dụng AI:
8.1. Các tác vụ cho phép sử dụng LLM:
- Sinh bản thảo học liệu (Content Drafting): Lên đề cương bài học, viết bài đọc giảng dạy bằng tiếng Việt.
- Sinh câu hỏi trắc nghiệm (Quiz Generation): Soạn thảo các câu hỏi MCQ kèm đáp án đúng và phần giải thích.
- Soạn hướng dẫn giáo viên (Teacher Notes): Viết ghi chú phương pháp giảng dạy tương ứng với bài học.
- Hỗ trợ kiểm tra chất lượng (Quality Check Support): Quét phát hiện ngôn từ nhạy cảm, câu từ phức tạp không phù hợp độ tuổi học sinh (Age Appropriateness validation).
Bắt buộc dùng Code logic xác định (8.2. Các tác vụ cấm sử dụng LLM):
- Xác thực danh tính và phân quyền (Authentication/Authorization): Bắt buộc xử lý qua Cloudflare Access và code xác thực JWT Token.
- Thuật toán Đề xuất & Xếp hạng (Recommendation Ranking & Filtering): Lọc điều kiện tiên quyết, xếp hạng độ khó bám sát điểm Mastery phải chạy hoàn toàn bằng code logic thuật toán (deterministic code) để đảm bảo tính giải thích được và nhất quán. AI không được tự ý quyết định lộ trình.
- Lưu trữ dữ liệu đề xuất (Recommendation Storage): Dữ liệu phải được ghi thẳng vào bảng D1 thông qua Worker.
- Chuyển đổi trạng thái nghiệp vụ (Workflow Transitions): Logic duyệt bài, xuất bản bài học, ghi đè của giáo viên phải chạy bằng mã nguồn logic ứng dụng.
9. Cloudflare Workflows Architecture
Click to view detailed specifications & content

Cloudflare Workflows chịu trách nhiệm điều phối và duy trì trạng thái cho 5 quy trình xử lý không đồng bộ và dài hạn của hệ thống:
┌────────────────────────────────────────────────────────────────────────┐
│ 1. Workflow Soạn thảo & Xuất bản (Content Creation Workflow) │
│ │
│ [Yêu cầu soạn] ➔ [AI Sinh Draft] ➔ [Chạy Luật QA] ➔ [Thông báo Duyệt] │
│ │ │
│ [Xuất bản Library] ◄──── [Approve] ◄─────┴─── (Reviewer duyệt) │
└────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ 2. Workflow Cập nhật & Đề xuất (Recommendation Loop Workflow) │
│ │
│ [Quiz Nộp] ➔ [Ghi Evidence] ➔ [Cập nhật Mastery] ➔ [Tính Đề xuất mới]│
└────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ 3. Workflow Xử lý thiếu bài (Content Gap Resolution Workflow) │
│ │
│ [Lọc đề xuất trống] ➔ [Tạo Content Gap] ➔ [Giao việc] ➔ [Tạo bài mới] │
└────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ 4. Workflow Báo cáo định kỳ (Nightly Analytics Workflow) │
│ │
│ [Kích hoạt 0h] ➔ [Gom logs D1/R2] ➔ [Tính KPI tiến độ] ➔ [Ghi Báo cáo]│
└────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────┐
│ 5. Workflow Giám sát Chi phí AI (AI Cost & Budget Workflow) │
│ │
│ [Quét Logs AI] ➔ [Cộng dồn token/USD] ➔ [Vượt ngưỡng?] ➔ [Gửi Alert] │
└────────────────────────────────────────────────────────────────────────┘- Quy trình soạn và duyệt học liệu (Content Creation): Tự động gửi prompt đến AI Gateway ➔ Thu nhận và kiểm tra schema ➔ Chạy bộ lọc chất lượng QA ➔ Cập nhật trạng thái
Ready for Review➔ Gửi thông báo đến Reviewer ➔ Đợi hành động duyệt (Approve/Revision) ➔ Chuyển trạng thái sangPublishedvà đồng bộ vào kho. - Quy trình cập nhật năng lực thích ứng (Recommendation Loop): Tiếp nhận sự kiện nộp bài ➔ Xác thực làm sạch dữ liệu ➔ Cập nhật bảng dữ liệu năng lực học sinh ➔ Kích hoạt tính toán đề xuất mới ➔ Đẩy tin nhắn đề xuất cập nhật lên giao diện học sinh.
- Quy trình giải quyết khoảng trống học liệu (Content Gap Resolution): Phát hiện đề xuất rỗng do thiếu bài ➔ Lưu mã lỗi Gap vào bảng ➔ Gửi yêu cầu soạn thảo đến màn hình Content Team ➔ Đợi tác giả dùng AI tạo bài bổ sung ➔ Phê duyệt ➔ Tự động đóng cờ cảnh báo Gap.
- Quy trình tổng hợp báo cáo định kỳ (Nightly Analytics): Hàng ngày vào lúc 00:00, quy trình tự kích hoạt ➔ Thu thập dữ liệu làm bài và đề xuất trong 24 giờ qua ➔ Tính toán các chỉ số: Acceptance rate, Completion rate ➔ Ghi kết quả tổng hợp vào bảng báo cáo của D1 để vẽ biểu đồ Dashboard.
- Quy trình giám sát chi tiêu AI (AI Cost Monitoring): Theo dõi tổng chi phí gọi API từ AI Gateway ➔ Tích lũy số tiền sử dụng theo ngày/tuần/tháng ➔ Nếu vượt quá hạn mức cấu hình (ví dụ: > 80% ngân sách tuần), tự động gửi thông báo khẩn cấp qua webhook đến ban điều hành và tạm thời chuyển các tác vụ AI không thiết yếu sang model giá rẻ.
10. Component Communication Patterns
Click to view detailed specifications & content
- Giao tiếp đồng bộ (Synchronous): Sử dụng các API RESTful chạy trên nền HTTP/HTTPS kết nối trực tiếp giữa Front-end Client và các Worker API endpoint (ví dụ: đăng nhập, tải dashboard lớp, giáo viên thực hiện override).
- Giao tiếp không đồng bộ (Asynchronous): Sử dụng Cloudflare Queues để truyền nhận sự kiện làm bài của học sinh hoặc các log kiểm toán, đảm bảo hệ thống không bị quá tải D1 khi có nhiều học sinh nộp bài cùng lúc.
- Xử lý dài hạn (Long-running Orchestration): Sử dụng Cloudflare Workflows để theo dõi trạng thái biên soạn học liệu và kiểm duyệt, có thể tạm dừng để đợi con người phản hồi (duyệt bài) rồi tiếp tục xử lý.
11. Security & Compliance Architecture
Click to view detailed specifications & content
Hệ thống triển khai mô hình bảo mật nhiều lớp (Defense-in-Depth) tại Edge:
[ Người dùng ]
│
▼
┌────────────────────────────────────────────────────────┐
│ Mạng biên Cloudflare: WAF, Rate Limiting, CAPTCHA │ (Chống tấn công, lọc bot)
└─────────────────────────┬──────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐
│ Cloudflare Access: OAuth, JWT Token Verification │ (Xác thực danh tính)
└─────────────────────────┬──────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐
│ API Gateway: Role-Based Access Control (RBAC) │ (Kiểm soát phân quyền)
└─────────────────────────┬──────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐
│ Cloudflare Workers (Application Layer) │ (Chạy logic bảo vệ D1)
└────────────────────────────────────────────────────────┘- Lớp phòng thủ biên: Cloudflare WAF tự động ngăn chặn các lỗ hổng OWASP Top 10, Rate Limiting giới hạn tần suất API để chống Spam bài nộp quiz, Turnstile kiểm tra CAPTCHA ẩn trên form.
- Lớp xác thực (Authentication): Sử dụng Cloudflare Access xác định danh tính thông qua mã khóa JWT được ký bảo mật từ dịch vụ OAuth.
- Lớp phân quyền (Authorization): Tích hợp phân quyền dựa trên vai trò (RBAC) ngay tại API Layer Worker. Chặn đứng các request chỉnh sửa cấu hình hay phê duyệt học liệu nếu Token không chứa vai trò Admin/Reviewer phù hợp.
- Cách ly cơ sở dữ liệu: Các tài nguyên cơ sở dữ liệu D1, R2 và Vectorize hoàn toàn không được mở cổng kết nối trực tiếp ra Internet. Mọi truy vấn đọc/ghi bắt buộc phải đi qua các hàm trung gian của Cloudflare Workers được kiểm soát nghiêm ngặt.
12. Edge Deployment Architecture
Click to view detailed specifications & content
Kiến trúc triển khai Serverless hoàn chỉnh của hệ thống trên Cloudflare Edge:
┌─────────────────────────┐
│ Browser / Clients │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Cloudflare Pages │ (Frontend Host)
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Cloudflare API Gateway │ (Routing, Rate Limit)
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Cloudflare Workers │ (Application Logic)
└────────────┬────────────┘
│
┌──────────────────────────────┼──────────────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Cloudflare D1 │ │ Cloudflare R2 │ │ Vectorize │
│ (Cơ sở dữ liệu │ │ (Lưu trữ file, │ │ (Lưu Vector │
│ quan hệ SQL) │ │ assets học liệu)│ │ chỉ mục kỹ năng)│
└──────────────────┘ └──────────────────┘ └──────────────────┘13. C4 Container-Level System Blueprint
Click to view detailed specifications & content
Mô tả cấu trúc container kỹ thuật trong hệ sinh thái Cloudflare của sản phẩm:
graph TB
subgraph Browser["Môi trường Trình duyệt (Client Side)"]
SPA["Cloudflare Pages <br>(React/Vite Frontend SPA)"]
end
subgraph Edge_Infrastructure["Hạ tầng mạng biên Cloudflare"]
Sec["Cloudflare Access + WAF + API Gateway"]
subgraph Workers_App["Application Layer (Cloudflare Workers)"]
LE["Learner Engine"]
RE["Recommendation Engine"]
CE["Content Engine"]
RvE["Review Engine"]
KE["Knowledge Engine"]
AE["Analytics Engine"]
AdE["Administration Engine"]
end
subgraph Orchestration["Điều phối & Hàng đợi"]
CFW["Cloudflare Workflows"]
CFQ["Cloudflare Queues"]
end
GW["Cloudflare AI Gateway"]
end
subgraph External_APIs["Nhà cung cấp AI bên ngoài"]
LLMs["OpenAI / Claude / Gemini API"]
end
subgraph Data_Store["Lớp dữ liệu Serverless (Data Layer)"]
D1[("Cloudflare D1 <br>(Relational SQL)")]
R2[("Cloudflare R2 <br>(Object Storage - Assets)")]
Vct[("Cloudflare Vectorize <br>(Vector DB - Embeddings)")]
Cache["Cache API <br>(Edge Memory Cache)"]
end
%% Giao tiếp
SPA -->|1. HTTPS Requests / Auth| Sec
Sec -->|2. Định tuyến API| Workers_App
Workers_App -->|3. Gọi luồng dài| CFW
Workers_App -->|4. Đẩy log/event| CFQ
CFW -->|5. Gọi AI có kiểm soát| GW
CFQ -->|6. Chạy jobs ngầm| Workers_App
GW -->|7. Gọi API thực tế| LLMs
Workers_App -->|8. Truy vấn SQL| D1
Workers_App -->|9. Đọc/Ghi File| R2
Workers_App -->|10. Tìm kiếm Vector| Vct
Workers_App -->|11. Cache API| Cache
%% Style
style SPA fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;
style Sec fill:#ffe0b2,stroke:#f57c00,stroke-width:2px;
style Workers_App fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
style Orchestration fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
style GW fill:#fff9c4,stroke:#fbc02d,stroke-width:2px;
style External_APIs fill:#eceff1,stroke:#37474f,stroke-width:2px;
style Data_Store fill:#efebe9,stroke:#5d4037,stroke-width:2px;14. Bounded Engine Contexts Design
Click to view detailed specifications & content
Hệ thống triển khai mô hình kiến trúc Modular Monolith bên trong Cloudflare Workers. Các phân hệ nghiệp vụ chính (Engines) được cấu trúc tách biệt dưới dạng các ranh giới ngữ cảnh ngữ nghĩa (Bounded Contexts) để dễ dàng tách thành các Workers microservices độc lập trong tương lai:
Application Layer Inside Cloudflare Workers
│
├── Learner Engine
│ ├── Evidence Processor (Lọc và chuẩn hóa dữ liệu quiz)
│ ├── Learner State Manager (Tính toán điểm Mastery và lưu trạng thái)
│ └── Confidence Calculator (Tính toán độ tin cậy của năng lực)
│
├── Recommendation Engine
│ ├── Candidate Filter (Lọc học liệu an toàn, đã phê duyệt)
│ ├── Ranking Service (Xếp hạng bài học khớp nhất với Mastery)
│ ├── Reason Generator (Sinh phần giải thích tiếng Việt cho GV & HS)
│ └── Recommendation Logger (Lưu nhật ký đề xuất và phương án thay thế)
│
├── Content Engine (AI Studio)
│ ├── Prompt Builder (Xây dựng prompt cấu trúc động theo kỹ năng & độ tuổi)
│ ├── AI Orchestrator (Điều phối gọi API qua AI Gateway)
│ ├── Draft Generator (Xử lý kết quả trả về từ LLM)
│ └── Metadata Generator (Đề xuất gán nhãn metadata học liệu)
│
├── Review Engine
│ ├── Workflow Manager (Quản lý trạng thái Draft ➔ Published)
│ ├── Approval Manager (Kiểm tra checklist phê duyệt của Reviewer)
│ └── Publishing Manager (Kích hoạt xuất bản, cập nhật thư viện hoạt động)
│
├── Knowledge Engine
│ ├── Course Manager (Quản lý cấu trúc phân cấp bài học)
│ ├── Skill Manager (Quản lý danh mục kỹ năng)
│ ├── Indicator Manager (Quản lý chỉ báo đo lường)
│ └── Content Library (Quản lý cơ sở dữ liệu học liệu đã phê duyệt)
│
├── Analytics Engine
│ ├── Metrics Collector (Gom dữ liệu Acceptance, Latency, Completion)
│ ├── Report Generator (Tính toán KPI, vẽ biểu đồ Dashboard)
│ └── Cost Monitor (Theo dõi số lượng token tiêu thụ và chi phí API)
│
└── Administration Engine
├── User Manager (Định danh người dùng, gán lớp học)
├── Role Manager (Phân quyền RBAC)
└── Audit Manager (Ghi nhật ký kiểm toán hệ thống)15. Key Technical Proposals for Part 2
Click to view detailed specifications & content
Nhằm xây dựng một mô hình dữ liệu sạch, linh hoạt và tối ưu nhất cho hệ thống Adaptive Learning AI-first, đội ngũ kiến trúc đề xuất quy trình thiết kế dữ liệu tại SDD Part 2 (Data Architecture) đi theo hướng tiếp cận Domain-Driven Design (DDD) thay vì thiết kế cơ sở dữ liệu truyền thống.
Quy trình thiết kế sẽ đi theo trình tự bắt buộc sau:
- Domain Model (Mô hình miền kiến thức): Định nghĩa rõ các khái niệm trừu tượng, mối quan hệ nghiệp vụ thuần túy không phụ thuộc công nghệ lưu trữ.
- Aggregate (Nhóm thực thể nhất quán): Xác định ranh giới giao dịch và các thực thể chịu trách nhiệm duy trì tính toàn vẹn dữ liệu (ví dụ: Aggregate root
Studentquản lýLearnerStatevàEvidence). - Data Flow (Luồng dữ liệu): Mô tả chi tiết cách thức dữ liệu di chuyển, biến đổi qua các bộ lọc và lưu giữ trong hệ thống từ lúc phát sinh sự kiện làm bài của học sinh.
- Database Schema (D1): Thiết kế cấu trúc các bảng SQL quan hệ lưu giữ thông tin trong D1.
- R2 Object Model: Thiết kế cấu trúc cây thư mục (prefix) và định dạng lưu giữ file tài liệu học tập, media, log thô trong R2.
- Vectorize Collections: Thiết kế cấu trúc các collection, số chiều của vector embeddings và phương pháp lập chỉ mục kỹ năng trong Vectorize.