Định cấu hình Bộ định tuyến để thử kết nối lại với Trình xử lý thông báo

Edge for Private Cloud phiên bản 4.17.09

Định cấu hình phản hồi của Bộ định tuyến khi Trình xử lý tin nhắn không hoạt động trong quá trình kiểm tra tình trạng

Bộ định tuyến sẽ kiểm tra tình trạng cho Bộ xử lý tin nhắn 5 giây một lần để xác định xem Bộ xử lý tin nhắn có thể đáp ứng các yêu cầu dịch vụ hay không. Nếu Bộ xử lý thông báo gặp sự cố thì Bộ định tuyến đó sẽ tự động chuyển tiếp yêu cầu đến một Bộ xử lý tin nhắn khác.

Bạn có thể định cấu hình cách Bộ định tuyến phản ứng khi Bộ xử lý thông báo gặp sự cố bằng cách thiết lập thuộc tính conf_load_balancing_load.balancing.driver.nginx.server.retry trên Bộ định tuyến đó. Thuộc tính đó lấy một tập hợp các giá trị được phân tách bằng dấu cách, có thể bao gồm:

  • off (tắt): Vô hiệu hoá tính năng thử lại, Bộ định tuyến sẽ trả về mã lỗi theo yêu cầu.
  • http_599: (Mặc định) Nếu Bộ định tuyến nhận được phản hồi HTTP 599 từ Bộ xử lý thông báo, thì Bộ định tuyến sẽ chuyển tiếp yêu cầu đến Bộ xử lý thông báo tiếp theo.

    HTTP 599 là mã phản hồi đặc biệt do Trình xử lý thông báo tạo ra khi sắp tắt. Bộ xử lý thông báo sẽ cố gắng hoàn thành tất cả yêu cầu hiện có, nhưng đối với mọi yêu cầu mới, Trình xử lý thông báo sẽ phản hồi bằng HTTP 599 để báo hiệu cho Bộ định tuyến và thử lại yêu cầu trên Bộ xử lý thông báo tiếp theo.
  • error: Nếu xảy ra lỗi trong khi thiết lập kết nối với Trình xử lý thông báo, truyền một yêu cầu tới lỗi đó hoặc đọc tiêu đề phản hồi từ Bộ định tuyến đó, thì Bộ định tuyến sẽ chuyển tiếp yêu cầu đến Bộ xử lý tin nhắn tiếp theo.
  • timeout: Nếu hết thời gian chờ trong khi thiết lập kết nối với Bộ xử lý thông báo, truyền yêu cầu tới bộ xử lý hoặc đọc tiêu đề phản hồi từ Bộ định tuyến đó, thì Bộ định tuyến sẽ chuyển tiếp yêu cầu đến Bộ xử lý thông báo tiếp theo.
  • invalid_header: Nếu Trình xử lý thông báo trả về phản hồi trống hoặc không hợp lệ, thì Bộ định tuyến sẽ chuyển tiếp yêu cầu đến Bộ xử lý thông báo tiếp theo.
  • http_XXX: Nếu Bộ xử lý thông báo trả về phản hồi bằng mã HTTP XXX, thì Bộ định tuyến sẽ chuyển tiếp yêu cầu đến Bộ xử lý thông báo tiếp theo.

Để định cấu hình Bộ định tuyến:

  1. Chỉnh sửa tệp /opt/apigee/customer/application/router.properties (nếu tệp không tồn tại, hãy tạo tệp này).
  2. Thêm thuộc tính conf_load_balancing_load.balancing.driver.nginx.server.retry như sau:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 lỗi
  3. Đảm bảo tệp thuộc tính thuộc sở hữu của người dùng "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Khởi động lại Bộ định tuyến:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router khởi động lại

Định cấu hình thời gian chờ của Bộ định tuyến khi truy cập vào Bộ xử lý thư theo yêu cầu proxy API

Bộ định tuyến cạnh có thời gian chờ đặt trước là 57 giây khi cố gắng truy cập vào Bộ xử lý thông báo trong quá trình xử lý yêu cầu thông qua proxy API. Khi hết thời gian chờ đó, Bộ định tuyến sẽ cố gắng kết nối với một Bộ xử lý thông báo khác (nếu có). Nếu không, hàm này sẽ trả về lỗi.

Bạn có thể sử dụng hai thuộc tính để kiểm soát thời gian chờ này:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout chỉ định thời gian chờ (tính bằng giây) cho một Bên xử lý tin nhắn. Giá trị mặc định là 57 giây.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout chỉ định tổng thời gian chờ cho tất cả các Bộ xử lý thông báo (tính bằng giây) khi quá trình cài đặt Edge có nhiều Bộ xử lý thông báo. Giá trị này có giá trị mặc định là giá trị hiện tại là conf_load_balancing_load.balancing.driver.proxy.read.timeout hoặc 57 giây.

Để định cấu hình Bộ định tuyến:

  1. Chỉnh sửa tệp /opt/apigee/customer/application/router.properties (nếu tệp không tồn tại, hãy tạo tệp này).
  2. Đặt các thuộc tính như minh hoạ dưới đây:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. Đảm bảo tệp thuộc tính thuộc sở hữu của người dùng "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Khởi động lại Bộ định tuyến:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router khởi động lại