Phần 2: Cài Đặt Môi Trường Từ Số 0 (Docker, OSM, Golang)

Vụ setup một cái hệ thống định tuyến local (local routing engine) nổi tiếng là khoai lang. Mấy bài tutorial chung chung toàn quang đại cho một cái lệnh Docker cơ bản, chạy xong nó lăn quay ra chết im ỉm (crashes silently) làm dân dev ngơ ngác chả hiểu gì. Trong bài hướng dẫn này, chúng ta sẽ bỏ qua mấy cái setup “Hello World” con nít. Chúng ta sẽ xắn tay dựng một môi trường chuẩn production (production-grade) xịn xò, nhào nặn chung dữ liệu OpenStreetMap (OSM), một cái container Docker Graphhopper (Java) được tinh chỉnh đàng hoàng, và một cái API Gateway Golang gánh tải song song (high-concurrency) cực khỏe. ...

14 tháng 6, 2026 · 8 phút · Tuan Anh

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 GraphHopper có lẽ là cỗ máy định tuyến (routing engine) mã nguồn mở xịn xò bậc nhất lúc này — nó nhồi đầy đủ mảng Rút Ngọn Thứ Bậc (Contraction Hierarchies - CH) cho những câu truy vấn đáp trả mượt dưới cả độ tính mili giây, nặn hồ sơ bóp nắn khuôn xe (custom vehicle profiles), khắt khe rẽ cấm góc (turn restrictions), lại kẹp nguyên bộ sậu cấu trúc hạ tầng đường sá OpenStreetMap dầy cộm. Cục sạn mà hầu hết đội nhóm cắn phải chẳng phải mảng thuật toán; nó nằm rúc ở khúc thao tác khó khăn (operational challenge) vận nó bò lết lên nổi Kubernetes: nuốt chửng một file to đùng OSM PBF vào, đẽo gọt cắt cân khối size dung lượng của JVM, xoay xở gánh qua kỳ sơ chế nhào nặn ngốn cả đóng thì giờ của mảng CH (CH pre-processing), lẫn chiêu đổi nạp dữ liệu map khỏi phải lịm tắt cúp đèn hệ thống (without downtime). ...

1 tháng 6, 2026 · 19 phút · Tuan Anh