BackendAdvanced4 - 6 tháng

System Design Primer

Lộ trình thiết kế hệ thống phân tán quy mô lớn và luyện phỏng vấn kiến trúc chuẩn donnemartin/system-design-primer (55k+ ★)

Hướng dẫn toàn diện từ nền tảng đến chuyên sâu về kiến trúc hệ thống phục vụ hàng trăm triệu người dùng. Bao quát nguyên lý mở rộng, lưu trữ phân tán, bộ nhớ đệm, tính toán độ trễ, và các case study kinh điển như Twitter, Pastebin, Web Crawler, AWS scaling.

Giai đoạn:7 Phases
Mô-đun:32 Kỹ năng
Thực hành:0 Bài Lab IDE
Tiêu chuẩn:donnemartin/primer
⚡ Trình biên dịch IDE trực tuyến: Làm chủ kỹ năng thông qua thực hành viết mã và kiểm thử tự động.
Mở IDE Thực Hành Lộ Trình Này →
Công Cụ Thiết Kế Kiến Trúc

Bảng Độ Trễ Phần Cứng & Tính Toán Phỏng Vấn (System Calculations)

Các con số cốt lõi mọi kỹ sư thiết kế hệ thống cần ghi nhớ theo tài liệu của Jeff Dean (Google) và Colin Scott.

💡 Góc nhìn trực quan: Nếu 1 chu kỳ CPU (1 ns) tương đương 1 giây của đời người, thì đọc từ HDD tương đương bạn phải đợi 4 tháng, và gói tin qua đại dương tương đương 5 năm!
Thao tác phần cứng / MạngĐộ trễ thực tếQuy đổi tỷ lệ (Nếu 1ns = 1s)Phân loại
L1 Cache Reference0.5 ns0.5 giâycpu
Branch Mispredict5 ns5 giâycpu
L2 Cache Reference7 ns7 giâycpu
Mutex Lock / Unlock25 ns25 giâycpu
Main Memory (RAM) Access100 ns1.7 phútmemory
Compress 1KB với Zippy10 µs2.8 giờcpu
Gửi 2KB qua mạng 1Gbps20 µs5.5 giờnetwork
Đọc ngẫu nhiên từ NVMe SSD150 µs1.7 ngàystorage
Đọc 1MB tuần tự từ RAM250 µs2.9 ngàymemory
Round trip cùng Datacenter500 µs (0.5 ms)5.8 ngàynetwork
Đọc 1MB tuần tự từ NVMe SSD1,000 µs (1 ms)11.6 ngàystorage
Disk Seek (Quay đĩa cơ HDD)10 ms16.5 tuần (~4 tháng)storage
Đọc 1MB tuần tự từ đĩa HDD20 ms7.8 thángstorage
Gói tin đi-về xuyên đại dương (CA -> Hà Lan)150 ms4.8 năm!network

Case Studies Thực Chiến & Thiết Kế Lõi Hệ Thống

Khám phá 8 bài toán kiến trúc phân tán quy mô lớn và 6 thiết kế hướng đối tượng kinh điển kèm sơ đồ luồng & mã nguồn chuẩn.

Key-Value / Storage10M Write/tháng • 100M Read/tháng • Tỷ lệ 10:1 Read:Write

Thiết Kế Dịch Vụ Rút Gọn Link & Lưu Văn Bản (Pastebin / Bit.ly)

Thiết kế hệ thống rút gọn URL và lưu trữ khối văn bản có thời hạn (TTL). Giải quyết bài toán sinh shortlink 7 ký tự Base62 không trùng lặp, đọc dữ liệu cực nhanh với Redis cache và lưu trữ hàng tỷ bản ghi trên Object Storage (S3) kết hợp RDBMS/NoSQL.

Sơ Đồ Luồng Kiến Trúc Chuẩn (Architecture Diagram)
Thiết Kế Dịch Vụ Rút Gọn Link & Lưu Văn Bản (Pastebin / Bit.ly) diagram 1
Phóng to
Sơ đồ Tổng quan (High-level)
Thiết Kế Dịch Vụ Rút Gọn Link & Lưu Văn Bản (Pastebin / Bit.ly) diagram 2
Phóng to
Sơ đồ Mở rộng chi tiết (Scaled)
Mã Nguồn Cài Đặt (Python Reference)
# -*- coding: utf-8 -*-

from mrjob.job import MRJob


class HitCounts(MRJob):

    def extract_url(self, line):
        """Extract the generated url from the log line."""
        pass

    def extract_year_month(self, line):
        """Return the year and month portions of the timestamp."""
        pass

    def mapper(self, _, line):
        """Parse each log line, extract and transform relevant lines.

        Emit key value pairs of the form:

        (2016-01, url0), 1
        (2016-01, url0), 1
        (2016-01, url1), 1
        """
        url = self.extract_url(line)
        period = self.extract_year_month(line)
        yield (period, url), 1

    def reducer(self, key, values):
        """Sum values for each key.

        (2016-01, url0), 2
        (2016-01, url1), 1
        """
        yield key, sum(values)

    def steps(self):
        """Run the map and reduce steps."""
        return [
            self.mr(mapper=self.mapper,
                    reducer=self.reducer)
        ]


if __name__ == '__main__':
    HitCounts.run()
Node ID: sd-case-pastebinMở Bài Tập Trên IDE
Bộ lọc:
Thành thạo:0% (0/0)
01
Giai đoạn 1Hiểu rõ các nguyên lý cơ bản và bản chất 'mọi thứ đều là sự đánh đổi' (Trade-offs)

Nguyên Lý & Đánh Đổi Cốt Lõi

Giai đoạn 1 trang bị tư duy kiến trúc nền tảng: phân biệt hiệu năng và khả năng mở rộng, độ trễ và thông lượng, định lý CAP cùng các mô hình nhất quán và sẵn sàng.

Cốt lõiKiến thức

Hiệu Năng vs Khả Năng Mở Rộng (Performance vs Scalability)

Một dịch vụ có khả năng mở rộng nếu nó tăng hiệu năng tương ứng với tài nguyên được bổ sung. Vấn đề hiệu năng: hệ thống chậm cho 1 người dùng. Vấn đề mở rộng: hệ thống nhanh cho 1 người nhưng chậm khi chịu tải lớn.

ScalabilityBenchmarkingCapacity Planning
3 khái niệmChi tiết
Cốt lõiKiến thức

Độ Trễ vs Thông Lượng (Latency vs Throughput)

Độ trễ (Latency) là thời gian để thực hiện một hành động hoặc tạo kết quả. Thông lượng (Throughput) là số hành động hoàn tất trên mỗi đơn vị thời gian. Mục tiêu thiết kế là đạt thông lượng tối đa với độ trễ trong ngưỡng chấp nhận được.

Latency ProfilingThroughput TuningSLO/SLA
3 khái niệmChi tiết
Cốt lõiKiến thức

Định Lý CAP (CAP Theorem: CP vs AP)

Trong một hệ thống phân tán có phân vùng mạng (Partition Tolerance - P luôn phải chấp nhận), bạn chỉ có thể chọn giữa Nhất quán (Consistency - CP) hoặc Sẵn sàng (Availability - AP). Không thể có cả CA khi mạng gặp sự cố.

Distributed SystemsConsensusNetwork Partitions
3 khái niệmChi tiết
Cốt lõiKiến thức

Các Mô Hình Nhất Quán (Consistency Patterns)

Ba cấp độ nhất quán chính trong hệ thống phân tán: Nhất quán yếu (Weak Consistency) - dữ liệu có thể không thấy ngay; Nhất quán sau cùng (Eventual Consistency) - dữ liệu sẽ đồng bộ sau một khoảng thời gian (DNS, email); Nhất quán mạnh (Strong Consistency) - đọc sau khi ghi luôn thấy dữ liệu mới nhất (RDBMS, RTT lock).

Read-After-WriteEventual ConsistencyCRDT
3 khái niệmChi tiết
Cốt lõiKiến thức

Các Mô Hình Sẵn Sàng (Availability Patterns)

Hai mô hình hỗ trợ dự phòng sự cố (Fail-over): Active-Passive (Master-Slave dự phòng nhàn rỗi) và Active-Active (cả 2 node cùng chia sẻ lưu lượng). Định lượng tính sẵn sàng theo số 9 (High Availability: 99.9% = 8.76 giờ downtime/năm; 99.999% = 5.26 phút downtime/năm).

High AvailabilityFailoverDisaster Recovery+1
3 khái niệmChi tiết
02
Giai đoạn 2Tối ưu hóa hành trình của gói tin từ thiết bị người dùng đến máy chủ

Mạng & Tầng Biên (Networking & Edge Layer)

Tìm hiểu cách định tuyến thông minh qua DNS, tăng tốc bằng CDN, cân bằng tải phân tán (L4/L7) và bảo vệ hệ thống bằng Reverse Proxy & API Gateway.

Cốt lõiKiến thức

Hệ Thống Phân Giải Tên Miền (DNS)

DNS phân giải tên miền thành địa chỉ IP. DNS có thể đóng vai trò cân bằng tải toàn cầu (Global Server Load Balancing - GSLB) qua Round-robin DNS, GeoDNS định tuyến theo vị trí địa lý của người dùng, hoặc Anycast routing.

DNS RoutingGeoDNSAnycast+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Mạng Phân Phối Nội Dung (CDN: Push vs Pull)

CDN phân phối nội dung tĩnh (ảnh, video, JS/CSS) và động đến các máy chủ Edge gần người dùng nhất. Phân biệt Push CDN (server đẩy tài nguyên lên CDN định kỳ) và Pull CDN (CDN tự kéo tài nguyên từ Origin khi có cache miss).

CDN ArchitectureCache HeadersOrigin Shield
3 khái niệmChi tiết
Cốt lõiKiến thức

Bộ Cân Bằng Tải (Load Balancer: L4 vs L7)

Phân phối lưu lượng đến cụm máy chủ backend để tối đa hóa thông lượng, giảm độ trễ và chống quá tải. So sánh L4 Load Balancing (dựa trên IP và Port TCP/UDP) và L7 Load Balancing (đọc HTTP header, cookie, URI path, SSL termination).

HAProxyNginxConsistent Hashing+2
3 khái niệmChi tiết
Khuyên họcKiến thức

Reverse Proxy & API Gateway

Reverse proxy đứng trước các máy chủ web để bảo vệ, nén dữ liệu (gzip/brotli), xử lý SSL/TLS termination, và phân phối request. API Gateway mở rộng với tính năng Rate Limiting, Authentication/JWT, Logging, và Circuit Breaking.

Reverse ProxyAPI GatewayTLS Termination+1
3 khái niệmChi tiết
03
Giai đoạn 3Thiết kế kiến trúc dữ liệu chịu tải hàng triệu bản ghi mỗi giây

Cơ Sở Dữ Liệu & Lưu Trữ Phân Tán

Mở rộng cơ sở dữ liệu quan hệ (RDBMS) qua Replication và Sharding, làm chủ hệ sinh thái NoSQL (Key-Value, Document, Wide-Column, Graph) và tiêu chuẩn chọn lựa phù hợp.

Cốt lõiKiến thức

Mở Rộng RDBMS: Replication & Sharding

Các kỹ thuật mở rộng cơ sở dữ liệu quan hệ: Master-Slave Replication (Master xử lý ghi, nhiều Slave chia tải đọc), Master-Master (ghi trên nhiều node), Federation (chia theo domain nghiệp vụ), và Sharding (phân mảnh dữ liệu theo partition key).

Database ShardingReplicationPartition Key Design+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Tối Ưu Hóa & Chuẩn Hóa RDBMS (Denormalization & SQL Tuning)

Tăng tốc độ truy vấn bằng cách phi chuẩn hóa (Denormalization: chấp nhận dư thừa dữ liệu để tránh JOIN nặng), thiết kế chỉ mục (B-Tree, Hash Index), tối ưu hóa bộ đệm (Buffer Pool), và phân tích execution plan.

SQL TuningIndexingEXPLAIN Analysis+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Hệ Sinh Thái NoSQL: Key-Value, Document, Column, Graph

Bốn loại NoSQL phổ biến: Key-Value (Redis, DynamoDB: truy xuất O(1)), Document (MongoDB: lưu JSON linh hoạt), Wide-Column (Cassandra, ScyllaDB: tối ưu ghi phân tán cực mạnh), và Graph Database (Neo4j: tối ưu quan hệ phức tạp như mạng xã hội, phòng chống gian lận).

NoSQLDynamoDBCassandra+2
3 khái niệmChi tiết
Cốt lõiKiến thức

Tiêu Chí Chọn Lựa: SQL hay NoSQL? (Decision Matrix)

Không có công nghệ nào tốt nhất cho mọi bài toán. Khung đánh giá quyết định: mô hình dữ liệu có cấu trúc hay phi cấu trúc? Tỷ lệ Đọc/Ghi? Cần giao dịch ACID nghiêm ngặt hay cần mở rộng quy mô tuyến tính (Horizontal Scaling)?

Architecture DecisionData ModelingTrade-off Analysis
3 khái niệmChi tiết
04
Giai đoạn 4Tối đa hóa tốc độ phản hồi và giảm tải triệt để cho hệ thống backend

Bộ Nhớ Đệm & Xử Lý Bất Đồng Bộ

Triển khai chiến lược caching tối ưu (Cache-Aside, Write-Through, Write-Behind), kiến trúc hàng đợi thông điệp (Message Queues) và giao thức truyền thông hiệu năng cao (gRPC vs REST).

Cốt lõiKiến thức

Chiến Lược Caching: Cache-Aside, Write-Through, Write-Back

Các mô hình đồng bộ bộ nhớ đệm: Cache-Aside (Lazy loading: đọc từ cache, miss thì đọc DB rồi ghi cache); Write-Through (ghi đồng thời vào cache và DB); Write-Behind / Write-Back (ghi vào cache trước, bất đồng bộ ghi DB sau); Refresh-Ahead (tự động làm mới cache trước khi hết hạn).

RedisMemcachedCache Eviction+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Xử Lý Bất Đồng Bộ: Message Queues & Task Queues

Tách rời (Decoupling) các thành phần hệ thống bằng hàng đợi thông điệp (Kafka, RabbitMQ, SQS, Celery). Giúp xử lý các tác vụ tốn thời gian (gửi email, render video, xuất báo cáo) mà không chặn luồng người dùng, đồng thời san phẳng lưu lượng đỉnh (Traffic Spikes).

Message QueuesKafkaRabbitMQ+2
3 khái niệmChi tiết
Cốt lõiKiến thức

Giao Thức Truyền Thông: TCP, UDP, RPC (gRPC) & REST

Lựa chọn giao thức phù hợp cho từng lớp giao tiếp: TCP (đảm bảo tin cậy, bắt tay 3 bước) vs UDP (tốc độ cao, chấp nhận rớt gói); REST qua HTTP/1.1 và HTTP/2 vs gRPC qua Protocol Buffers (nén nhị phân, streaming hai chiều, độ trễ siêu thấp cho microservices nội bộ).

gRPCProtocol BuffersRESTful API+3
3 khái niệmChi tiết
Khuyên họcKiến thức

Bảo Mật Hệ Thống Phân Tán (Security & DDoS Protection)

Thiết kế bảo mật đa lớp (Defense in depth): Mã hóa dữ liệu khi truyền (TLS 1.3) và khi lưu trữ (AES-256), Quản lý danh tính (OAuth 2.0, OpenID Connect, JWT), Chống tấn công từ chối dịch vụ (DDoS) bằng CDN và Anycast, và phòng ngừa SQLi, XSS, CSRF.

Security ArchitectureTLSOAuth2+2
3 khái niệmChi tiết
05
Giai đoạn 5Khung tư duy 4 bước và kỹ năng ước lượng thần tốc trong phỏng vấn FAANG

Phương Pháp Phỏng Vấn & Ước Lượng Kỹ Thuật

Làm chủ quy trình phỏng vấn thiết kế hệ thống, tính toán nhẩm nhanh chóng dung lượng lưu trữ, băng thông mạng, IOPS và ghi nhớ bảng độ trễ phần cứng kinh điển.

Cốt lõiKiến thức

Quy Trình Phỏng Vấn 4 Bước (System Design Framework)

Phương pháp tiếp cận bài toán phỏng vấn chuẩn mực: Bước 1: Khảo sát phạm vi, use cases và giả định (Who, How, Scale, Constraints); Bước 2: Thiết kế cấp cao (High-level diagram); Bước 3: Đào sâu linh kiện cốt lõi (Core components & DB schema); Bước 4: Mở rộng và giải quyết điểm nghẽn (Scale the design).

Interview LeadershipCommunicationSystem Scoping+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Ước Lượng Nhẩm Kỹ Thuật (Back-of-the-envelope Calculations)

Kỹ thuật tính nhẩm nhanh các chỉ số quan trọng trong phỏng vấn: Bảng lũy thừa cơ số 2 (Powers of two: 2^10 = 1KB, 2^20 = 1MB, 2^30 = 1GB, 2^40 = 1TB); Tính toán số giây trong ngày (~86,400s ≈ 10^5s); Chuyển đổi DAU (Daily Active Users) sang QPS (Queries Per Second) trung bình và đỉnh.

Capacity EstimationQPS MathStorage Calculations+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Bảng Con Số Độ Trễ Mọi Kỹ Sư Cần Biết (Latency Numbers)

Bảng so sánh độ trễ phần cứng nổi tiếng của Jeff Dean: L1 cache reference (0.5 ns), RAM access (100 ns), NVMe SSD Read (150,000 ns), Network RTT cùng datacenter (500,000 ns), Disk Seek (10,000,000 ns), Round trip xuyên đại dương (150,000,000 ns).

Hardware LatencyPerformance ProfilingSystem Optimization
3 khái niệmChi tiết
06
Giai đoạn 6Phân tích kiến trúc thực tế của các nền tảng công nghệ quy mô triệu người dùng

Thiết Kế Hệ Thống Kinh Điển (Real-World Case Studies)

Học tập qua 8 bài toán thiết kế hệ thống tiêu chuẩn: Pastebin, Twitter Timeline, Web Crawler, Mint, Social Network, Key-Value Store, Amazon Sales Rank, và AWS Scaling.

Cốt lõiKiến thức

Case Study 1: Thiết Kế Dịch Vụ Rút Gọn Link (Pastebin / Bit.ly)

Bài toán kinh điển yêu cầu tạo và truy xuất mã URL rút gọn nhanh chóng. Phân tích thuật toán băm Base62, xử lý xung đột băm (Hash Collisions) qua Key Generation Service (KGS), thiết kế cơ sở dữ liệu NoSQL Key-Value và cơ chế hết hạn (TTL).

URL ShorteningBase62 EncodingKGS Service+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Case Study 2: Thiết Kế Bảng Tin & Tìm Kiếm Twitter (Twitter Timeline)

Hệ thống xử lý lưu lượng đọc khổng lồ so với ghi. So sánh hai kiến trúc xây dựng Timeline: Fan-out on Write (đẩy tweet vào cache của mọi follower ngay khi đăng) vs Fan-out on Read (tổng hợp tweet khi follower mở app). Xử lý bài toán người nổi tiếng (Celebrity Problem).

Timeline FeedFan-outRedis List+2
3 khái niệmChi tiết
Cốt lõiKiến thức

Case Study 3: Thiết Kế Trình Thu Thập Dữ Liệu Web (Distributed Web Crawler)

Hệ thống thu thập hàng tỷ trang web trên Internet. Thiết kế URL Frontier với hàng đợi ưu tiên và lịch sự (Politeness delay), lọc trùng lặp liên kết bằng Bloom Filter, phân tích cú pháp HTML và lưu trữ nội dung vào distributed object storage (S3/HDFS).

Distributed CrawlerURL FrontierBloom Filters+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Case Study 4: Thiết Kế Ứng Dụng Quản Lý Tài Chính (Mint.com)

Nền tảng tổng hợp dữ liệu tài chính từ nhiều ngân hàng. Đảm bảo tính toàn vẹn dữ liệu nghiêm ngặt theo chuẩn ACID, hệ thống phân tích chi tiêu theo danh mục, hàng đợi bất đồng bộ đồng bộ hóa tài khoản ngân hàng và thông báo người dùng.

Financial ArchitectureBank IntegrationACID Compliance+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Case Study 5: Thiết Kế Cấu Trúc Đồ Thị Mạng Xã Hội (Social Graph)

Lưu trữ và truy vấn mối quan hệ bạn bè, theo dõi và gợi ý kết nối (Friend-of-friends). So sánh mô hình đồ thị trên RDBMS quan hệ với Graph Database (Neo4j, AWS Neptune) và thuật toán duyệt đồ thị phân tán (Distributed BFS/DFS).

Social GraphGraph BFS/DFSAdjacency List+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Case Study 6: Thiết Kế Bộ Nhớ Đệm Phân Tán (Key-Value Query Cache)

Xây dựng hệ thống lưu trữ Key-Value phân tán tốc độ cao tương tự Redis/Memcached. Thiết kế vòng băm nhất quán (Consistent Hashing Ring) có Virtual Nodes, thuật toán phát hiện lỗi Gossip Protocol và chính sách giải phóng bộ nhớ LRU.

Distributed CacheConsistent HashingGossip Protocol+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Case Study 7: Thiết Kế Bảng Xếp Hạng Bán Chạy Amazon (Sales Ranking)

Hệ thống tính toán xếp hạng sản phẩm bán chạy theo danh mục trong thời gian thực. Sử dụng kiến trúc MapReduce kết hợp xử lý luồng thời gian thực (Apache Flink / Spark Streaming) và cơ chế cửa sổ trượt (Sliding Time Windows).

Stream ProcessingRanking AlgorithmsSliding Windows+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Case Study 8: Tiến Hóa Hệ Thống Lên Hàng Triệu Người Dùng Trên AWS

Quá trình chuyển dịch kiến trúc theo 5 cấp độ: Từ máy chủ duy nhất (Single Server) -> Tách biệt Web và DB -> Thêm Load Balancer và Web Replicas -> Bổ sung Redis Cache và SQS Queue -> Mở rộng Multi-Region Autoscale với DynamoDB và CloudFront.

AWS ArchitectureAutoscalingCloud Migration+1
4 khái niệmChi tiết
07
Giai đoạn 7Hiện thực hóa kiến trúc bằng mã nguồn trực tiếp trên IDE

Thiết Kế Hướng Đối Tượng & Thuật Toán Hệ Thống

Lập trình cài đặt các thành phần hệ thống nền tảng: LRU Cache O(1), Bảng băm tùy chỉnh, Thuật toán giới hạn tốc độ (Rate Limiting) và hệ thống Chat Server.

Cốt lõiKiến thức

Lập Trình Thiết Kế Bộ Nhớ Đệm LRU Cache O(1)

Xây dựng cấu trúc dữ liệu LRU (Least Recently Used) Cache với thời gian truy xuất get(key) và chèn put(key, value) đều đạt O(1). Kết hợp giữa Doubly Linked List (quản lý thứ tự truy cập) và Hash Map (truy cập node trực tiếp).

LRU CacheDoubly Linked ListHash Map+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Lập Trình Thiết Kế Bảng Băm (Hash Map with Collision Handling)

Tự tay cài đặt cấu trúc bảng băm từ đầu: hàm băm phân phối đều (Hash Function), xử lý xung đột khóa bằng phương pháp Separate Chaining (danh sách liên kết tại mỗi bucket) hoặc Open Addressing (Linear Probing), và cơ chế tự động Rehash khi Load Factor vượt ngưỡng.

Hash MapCollision ResolutionLoad Factor+1
3 khái niệmChi tiết
Cốt lõiKiến thức

Lập Trình Thuật Toán Giới Hạn Tốc Độ (Rate Limiter: Token Bucket)

Triển khai thuật toán Token Bucket hoặc Sliding Window Log để bảo vệ API khỏi spam và tấn công DoS. Cho phép lưu lượng bùng nổ trong giới hạn (Burst traffic) nhưng duy trì tốc độ nạp thẻ bài đều đặn theo thời gian.

Rate LimitingToken BucketSliding Window+1
3 khái niệmChi tiết
Khuyên họcKiến thức

Thiết Kế Hệ Thống Chat Thời Gian Thực (Online Chat Server Architecture)

Kiến trúc hệ thống tin nhắn tức thì (giống Slack / WhatsApp): Duy trì kết nối hai chiều qua WebSockets, Quản lý trạng thái online/offline (Presence Service), Định tuyến tin nhắn qua Message Broker và Lưu trữ lịch sử tin nhắn vào NoSQL Wide-Column.

WebSocket ArchitecturePresence ServiceChat Storage+1
3 khái niệmChi tiết