Zipkin thu thập và hiển thị distributed trace: một request đi qua bao nhiêu dịch vụ, dừng ở đâu lâu nhất, và chặng nào ném lỗi. Khi hệ thống chỉ có một app thì log là đủ; từ lúc có hai app gọi nhau, câu hỏi "chậm ở đâu" không còn trả lời được bằng cách đọc log của từng bên.
Dùng vào việc gì
Tìm chặng chậm trong một chuỗi gọi qua nhiều dịch vụ, thay vì đoán bằng cách so dấu thời gian giữa các tệp log.
Dựng môi trường thử nghiệm cho một ứng dụng đã có sẵn thư viện tracing, mà không phải chuẩn bị kho lưu trữ nào trước.
Học và trình diễn distributed tracing: gửi vài trace tay vào cổng 9411 rồi xem chúng hiện lên đồ thị phụ thuộc.
Keenrig lo hộ bạn những gì
Cần 512 MB bộ nhớ — mục nặng nhất trong danh mục hiện tại, vì trace được giữ trong bộ nhớ tiến trình.
Kiểm tra sức khoẻ theo đường dẫn riêng `/health`, nên nền tảng không nhầm giao diện tải chậm với app chết.
Ghim theo digest `sha256:d17e856d…` chứ không theo tag `3`: bản deploy lại tháng sau chạy đúng image của hôm nay.
Điều nó không làm. Cấu hình mặc định lưu trace TRONG BỘ NHỚ. Deploy lại, khởi động lại hoặc container bị thay thế thì toàn bộ trace cũ biến mất — đây là lựa chọn có chủ ý để mục này không cần đĩa, không phải thiếu sót. Nếu bạn cần giữ trace qua nhiều ngày thì Zipkin cần một kho lưu trữ ngoài (Cassandra, Elasticsearch, MySQL), và mục danh mục này không dựng hộ thứ đó.
Gắn nút cài vào README của dự án
Bạn duy trì Zipkin? Dán đoạn này vào README để người đọc cài nó bằng Keenrig:
[](https://keenrig.com/en/apps/zipkin)