Phần 7: Kiểm Tra Chịu Tải & Tối Ưu Hiệu Năng Cho Production

Phần 7: Kiểm Tra Chịu Tải & Tối Ưu Hiệu Năng Cho Production

← Chương trước: Phần 6: Gom Nhóm Vị Trí Với Uber H3 & Caching Ngữ Nghĩa (Semantic Caching) | Mục lục Series | Chương tiếp theo: Phần 8: Cập Nhật Bản Đồ Không Gián Đoạn (Zero-Downtime) & Kubernetes Đa Vùng → Answer-first: Kiểm thử chịu tải 20.000 RPS cho hệ thống định tuyến đòi hỏi công cụ K6 xử lý Coordinated Omission, tinh chỉnh tham số nhân mạng Linux (sysctl), cấu hình Connection Pool gRPC và tối ưu bộ gom rác JVM cho GraphHopper. ...

15 tháng 6, 2026 · 6 phút · Lê Tuấn Anh
Triển Khai GraphHopper trên Kubernetes với OSM

Tự Tổ Chức Triển Khai GraphHopper trên Kubernetes với Dữ liệu OSM

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Triển khai GraphHopper trên Kubernetes chuẩn production yêu cầu cấu hình StatefulSet với SSD PVC lưu trữ OSM PBF và CH cache, cấp phát 768MB JVM Heap cùng 4GB off-heap Direct Memory (mmap), thiết lập Readiness Probe 600s bảo vệ giai đoạn CH pre-processing, và áp dụng chiến lược Blue-Green để cập nhật bản đồ không downtime. GraphHopper là một cỗ máy định tuyến (routing engine) mã nguồn mở mạnh mẽ — hỗ trợ thuật toán Rút Ngọn Thứ Bậc (Contraction Hierarchies - CH) cho các câu truy vấn phản hồi dưới 1 mili-giây, hồ sơ phương tiện tùy chỉnh (custom vehicle profiles), quy định cấm rẽ (turn restrictions) và tích hợp dữ liệu bản đồ OpenStreetMap. Thách thức lớn nhất đối với các đội ngũ kỹ thuật không phải là thuật toán, mà là việc vận hành và triển khai trên Kubernetes: nạp tập tin OSM PBF dung lượng lớn, tối ưu hóa bộ nhớ JVM, xử lý giai đoạn tiền xử lý đồ thị CH (CH pre-processing), và cập nhật dữ liệu bản đồ mà không gây gián đoạn hệ thống (zero-downtime). ...

1 tháng 6, 2026 · 13 phút · Lê Tuấn Anh