Tổng quan hệ thống:
Một ứng dụng đơn giản với giao diện người dùng nhẹ nhàng, nhưng phía sau là cả một hệ thống phối hợp phức tạp giữa frontend, backend, telemetry, database và hệ thống thanh toán bên ngoài.
Bao gồm đồng hồ thông minh, điện thoại, tablet, laptop.
Họ có thể sử dụng trình duyệt (browser) hoặc ứng dụng native để tương tác với hệ thống.
Là nơi tiếp nhận tất cả yêu cầu HTTP/HTTPS từ bên ngoài.
Ingress định tuyến request đến các dịch vụ nội bộ phù hợp như frontend, billing, telemetry...
Frontend: Cung cấp giao diện người dùng và xử lý logic phía client.
Billing: Phụ trách tính phí, giao tiếp với hệ thống thanh toán bên thứ ba thông qua HTTPS.
Telemetry: Thu thập và ghi lại hành vi người dùng để phục vụ mục đích giám sát và phân tích.
PostgreSQL (PgSQL): Lưu trữ thông tin người dùng, giao dịch tài chính – sử dụng kết nối SQL (TCP).
NoSQL: Lưu trữ log, sự kiện telemetry – sử dụng giao thức TCP hoặc gRPC tùy theo thiết kế.
Các dịch vụ giao tiếp nội bộ có thể dùng HTTP, gRPC hoặc TCP theo nhu cầu hiệu năng và bảo mật.
Đây chính là một kiến trúc microservices tiêu chuẩn, cực kỳ phổ biến trong các hệ thống sản xuất hiện đại. Bạn nên nắm vững nếu đang theo đuổi các vai trò sau:
DevOps / DevNet
Cloud Engineer (trên AWS, Azure hoặc GCP)
Kubernetes Administrator
Backend Engineer xây dựng hệ thống phân tán và có thể mở rộng
Ingress Controller: NGINX, Traefik, Istio
Service Routing và giao thức truyền thông: HTTP vs gRPC vs TCP
Persistent Volumes: Triển khai PostgreSQL và NoSQL có lưu trữ ổn định
Hệ thống giám sát: Prometheus, Grafana, hoặc ELK Stack
Khi bạn mở ứng dụng ngân hàng:
Ứng dụng gọi frontend để hiển thị số dư.
Khi thực hiện chuyển khoản, frontend gọi dịch vụ billing → billing kết nối đến hệ thống thanh toán bên thứ ba.
Mọi hành vi thao tác của bạn được gửi về dịch vụ telemetry và lưu trong NoSQL.
Dữ liệu giao dịch và tài khoản được lưu trữ trong PostgreSQL.
Đây không còn là lý thuyết.
Hơn 99% các ứng dụng mobile/web hiện đại đều đang sử dụng kiến trúc tương tự.
Hiểu và thực hành tốt kiến trúc này sẽ giúp bạn làm chủ:
Quản lý và triển khai Kubernetes
CI/CD cho microservices
Quan sát hệ thống, logging, alert
Mở rộng quy mô ứng dụng không downtime