Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sync và Async api

    🔄 Sync API là gì?


    🧩 Ví dụ bên trái mô tả một lệnh GET site V2, dùng để lấy danh sách các site (vị trí mạng).
    📥 Đây là một Sync API – khi bạn gọi API, hệ thống sẽ xử lý ngay và trả về kết quả đầy đủ trong phản hồi.

    👉 Điểm đặc trưng:
    • Client (ví dụ: Postman, Python script) chờ kết quả trả về ngay lập tức.
    • Kết quả chứa luôn dữ liệu bạn yêu cầu, như thông tin groupHierarchy, nameSpace, parentId, v.v.
    • Thường dùng cho các API đọc dữ liệu (read-only) như GET, LIST, SHOW.

    🚀 Async API là gì?


    🔧 Ở ví dụ bên phải là lệnh POST tạo mới site – một thao tác có thể mất thời gian.
    Thay vì trả về kết quả ngay, API chỉ xác nhận rằng tác vụ đã được lên lịch (scheduled).

    👉 Điểm đặc trưng:
    • Trả về một ID như executionId hoặc taskId.
    • Bạn sẽ dùng ID này để truy vấn tiến trình hoặc kết quả sau đó (polling hoặc callback).
    • Dùng cho các thao tác ghi dữ liệu, thay đổi cấu hình, hoặc job mất thời gian (ví dụ như provisioning, deploy...).

    📝 Ghi nhớ nhanh:


    💡 Nếu không đảm bảo phản hồi trong 60 giây → dùng Async API.
    Vì vậy khi thiết kế script, DevOps phải:
    • Xử lý logic đợi kết quả (poll).
    • Kiểm tra trạng thái (executionStatusUrl, job status...).
    • Đảm bảo xử lý lỗi nếu tác vụ Async thất bại.

    💡 Ví dụ thực tế trong Automation:
    • Sync API: GET /network-device → lấy danh sách switch/router trong hệ thống.
    • Async API: POST /site → tạo mới site; POST /device-onboarding → khởi động quá trình provision thiết bị.


    🎯 Kết luận:
    Phân biệt Sync vs Async API là kiến thức nền tảng cho anh em làm tự động hóa mạng (NetDevOps). Hiểu rõ sẽ giúp bạn viết các playbook, script, và pipeline chính xác hơn khi làm việc với hệ thống như Cisco DNA Center, NSO, hay cả các cloud API như Azure/AWS.

    Nếu bạn đang học DevNet hoặc chuẩn bị thi DEVASC, thì đây là một chủ đề chắc chắn ra đề!
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X