Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Các yêu cầu API do ứng dụng khách thực hiện sẽ đi qua nhiều thành phần trong Apigee Edge trước khi đến được các dịch vụ phụ trợ. Hầu hết các ứng dụng khách đều mong đợi nhận được phản hồi cho những yêu cầu này một cách kịp thời.
Để đạt được phản hồi kịp thời, các giá trị thời gian chờ I/O được đặt trong từng thành phần mà các yêu cầu API truyền qua. Nếu bất kỳ thành phần nào trong luồng mất nhiều thời gian hơn thành phần trước đó, thì thành phần trước đó sẽ hết thời gian chờ và phản hồi lại bằng lỗi 504 Gateway Timeout.
Trong khi định cấu hình thời gian chờ, bạn phải định cấu hình các giá trị trong từng thành phần một cách cẩn thận, nếu không, điều này có thể dẫn đến lỗi 504 Hết thời gian chờ của cổng.
Tài liệu này mô tả các phương pháp hay nhất để định cấu hình thời gian chờ I/O trên nhiều thành phần mà các yêu cầu API truyền qua trong Apigee Edge.
Các phương pháp hay nhất để định cấu hình thời gian chờ I/O
Hãy cân nhắc các phương pháp hay nhất sau đây khi định cấu hình thời gian chờ I/O:
- Thành phần đầu tiên: Luôn sử dụng thời gian chờ cao nhất trên thành phần đầu tiên trong quy trình yêu cầu API, đó là Ứng dụng khách trong Apigee Edge.
- Thành phần cuối cùng: Luôn sử dụng thời gian chờ thấp nhất trên thành phần cuối cùng trong luồng yêu cầu API, đó là Dịch vụ phụ trợ trong Apigee Edge.
- Giữa các thành phần: Đảm bảo có sự khác biệt ít nhất là 2-3 giây về giá trị thời gian chờ được định cấu hình trong mỗi thành phần giữa thành phần đầu tiên và thành phần cuối cùng trong luồng.
- Bộ định tuyến: Bạn nên định cấu hình (sửa đổi) giá trị thời gian chờ I/O cho một máy chủ ảo cụ thể thay vì định cấu hình giá trị này trên Bộ định tuyến. Điều này đảm bảo rằng giá trị thời gian chờ mới chỉ ảnh hưởng đến những API Proxy đang sử dụng máy chủ ảo cụ thể chứ không ảnh hưởng đến tất cả API Proxy do Bộ định tuyến phân phát.
Chỉ định cấu hình (sửa đổi) thời gian chờ I/O trên Bộ định tuyến khi bạn hoàn toàn chắc chắn rằng giá trị thời gian chờ I/O mới là cần thiết hoặc áp dụng cho tất cả các API Proxy đang chạy trên Bộ định tuyến.
- Trình xử lý thông báo: Bạn nên định cấu hình (sửa đổi) giá trị thời gian chờ I/O cho một proxy API cụ thể thay vì định cấu hình giá trị này trên Trình xử lý thông báo. Điều này đảm bảo rằng giá trị thời gian chờ mới chỉ ảnh hưởng đến một proxy API cụ thể chứ không ảnh hưởng đến tất cả các proxy API do Message Processor phân phát.
Chỉ định cấu hình (sửa đổi) thời gian chờ I/O trên Trình xử lý thông báo khi bạn hoàn toàn chắc chắn rằng giá trị thời gian chờ I/O mới là bắt buộc hoặc áp dụng cho tất cả các API Proxy đang chạy trên Trình xử lý thông báo.
Các trường hợp ví dụ
Các tình huống trong phần này có thể giúp bạn hiểu cách đặt đúng giá trị thời gian chờ I/O.
Tình huống 1: Yêu cầu đến Apigee Edge trực tiếp từ các ứng dụng khách
Phần này mô tả các phương pháp hay nhất cần tuân thủ khi thiết lập các giá trị thời gian chờ trong chế độ thiết lập Apigee Edge mà không có thành phần trung gian nào giữa ứng dụng khách và Apigee Edge, cũng như giữa Apigee Edge và máy chủ phụ trợ của bạn.
Thiết lập Apigee mẫu mà không có thành phần trung gian
Nếu bạn thiết lập Apigee Edge như trong sơ đồ ở trên mà không có thành phần trung gian, hãy sử dụng các phương pháp hay nhất sau:
- Ứng dụng khách là thành phần đầu tiên trong quy trình. Bạn nên đặt giá trị thời gian chờ cao nhất trên máy khách.
- Máy chủ phụ trợ là thành phần cuối cùng trong luồng. Bạn nên đặt giá trị thời gian chờ thấp nhất trên máy chủ phụ trợ.
- Định cấu hình các giá trị thời gian chờ trên từng thành phần theo thứ tự sau:
Ví dụ sau đây cho thấy các giá trị thời gian chờ được đặt trên nhiều thành phần theo nguyên tắc nêu trên để tránh mọi vấn đề:
Tình huống 2: Yêu cầu đến Apigee Edge từ các ứng dụng khách thông qua các thành phần trung gian
Phần này mô tả các phương pháp hay nhất cần tuân thủ khi thiết lập các giá trị thời gian chờ trong chế độ thiết lập Apigee Edge, trong đó có một hoặc nhiều thành phần trung gian giữa ứng dụng khách và Apigee Edge, cũng như giữa Apigee Edge và máy chủ phụ trợ của bạn.
Các thành phần trung gian có thể là trình cân bằng tải, mạng phân phối nội dung (CDN), NGINX, v.v.
Thiết lập Apigee mẫu với một thành phần trung gian giữa Client và Apigee Edge, cũng như giữa Apigee Edge và máy chủ phụ trợ
Nếu bạn thiết lập Apigee Edge như trong sơ đồ ở trên, với một hoặc nhiều thành phần trung gian, hãy áp dụng các phương pháp hay nhất sau:
- Ứng dụng khách là thành phần đầu tiên trong quy trình. Bạn nên đặt giá trị thời gian chờ cao nhất trên máy khách.
- Máy chủ phụ trợ là thành phần cuối cùng trong luồng. Bạn nên đặt giá trị thời gian chờ thấp nhất trên máy chủ phụ trợ.
- Định cấu hình các giá trị thời gian chờ trên từng thành phần, bao gồm cả các thành phần trung gian, theo thứ tự sau:
Ví dụ sau đây cho thấy các giá trị thời gian chờ được đặt trên nhiều thành phần theo nguyên tắc nêu trên để tránh mọi vấn đề: