Integrations

Giới thiệu

  • Định nghĩa thông tin về backend: URL endpoint, health checks, timeout…
  • Với cơ chế health checks của Integration giúp loại bỏ các máy chủ đích bị lỗi, điều hướng request đến các máy chủ đích còn hoạt động.
  • Integration gồm 2 kiểu: HTTP URILoad balancer.

Integration với kiểu HTTP URI

Khởi tạo

Ở menu Integrations chọn tab Danh sách Integrations nhấn nút KHỞI TẠO nhập tên integration, chọn loại integration là HTTP URI, nhập URL endpoint và nhấn nút KHỞI TẠO

Gắn integration "test-integration" vừa tạo ở trên vào route "/dev": Ở menu Integrations chọn tab Gắn tới Routes, chọn route “dev”, chọn integration “test-integration” và nhấn nút GẮN INTEGRATION

Deploy: Chọn stage cần deploy và nhấn nút DEPLOY. Ở đây, tôi deploy lên stage dev

Review:

Kết quả:

Integration với kiểu Load Balancer

Với kiểu Load balancer sẽ giúp phân bổ lượng truy cập vào các server backend của bạn, tỉ lệ phân bổ được quy định theo trọng số Weight. Ví dụ: Integration có 2 target: 192.168.1.1:8080 với weight: 80 và 192.168.1.2:8080 với weight: 20 thì với 100 request vào API sẽ có 80 request vào 192.168.1.1:8080 và 20 request vào 192.168.1.2:8080*

Khởi tạo

Nhập tên integration, chọn loại integration là Load Balancer, khai báo các Target là các máy chủ backend của bạn

Bật Active health checks: API Gateway chủ động thực hiện kiểm tra tình trạng các target backend, sẽ chỉ phân bổ lượng truy cập vào các target backend ở trạng thái healthy ).

Lưu ý: Nếu bạn không bật active health checks, api gateway sẽ thực hiện phân bổ lượng truy cập vào tất cả các target backend kể cả target backend ở trạng thái unhealthy.

Bật Pasive health checks: API Gateway sẽ kiểm tra tình trạng các Target thông qua các HTTP status mà Target phản hồi cho client (hay còn gọi là Circuit Breaker).

Ví dụ: Client A gửi yêu cầu tới API “test-api”. API này được gắn với integration “test-int”. Integration “test-int” có 2 target backend: http://3.223.108.41:80 và http://35.171.190.227:80. Target http://3.223.108.41:80 chặn truy cập từ IP client A, dẫn tới http status mà target http://3.223.108.41:80 phản hồi cho client là 403, lúc này API Gateway sẽ định nghĩa target http://3.223.108.41:80 ở trạng thái Unhealthy.

Lưu ý: Bạn có thể tự định nghĩa HTTP status ở trạng thái healthy và unhealthy.

Gắn integration tới route và thực hiện chọn stage cần deploy tương tự như với kiểu HTTP URI