Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Tài liệu này giải thích cách định cấu hình thời gian chờ I/O cho Trình xử lý tin nhắn Apigee Edge.
Thời gian chờ I/O trên Trình xử lý thông báo biểu thị thời gian mà Trình xử lý thông báo chờ nhận phản hồi từ máy chủ phụ trợ hoặc để ổ cắm sẵn sàng ghi gửi yêu cầu đến máy chủ phụ trợ trước khi hết thời gian chờ.
Giá trị mặc định của thời gian chờ I/O của Trình xử lý thông báo là 55 seconds
. Thời gian chờ này
có áp dụng khoảng thời gian
vào các máy chủ phụ trợ đã được định cấu hình trong cấu hình thiết bị đầu cuối đích và trong chú thích dịch vụ
chính sách của proxy API.
Thời gian chờ I/O cho Trình xử lý thư có thể tăng hoặc giảm từ giá trị mặc định của
55 seconds
dựa trên nhu cầu của bạn. Bạn có thể thiết lập ứng dụng này ở những vị trí sau:
- Trong proxy API
- Điểm cuối đích
- Chính sách về chú thích dịch vụ
- Trên Trình xử lý thư
Các thuộc tính sau kiểm soát thời gian chờ I/O trên Bộ xử lý thông báo:
Tên thuộc tính | Vị trí | Mô tả |
---|---|---|
io.timeout.millis
|
Proxy API:
|
Đây là thời gian tối đa mà Trình xử lý thư thực hiện những việc sau:
Nếu không có phản hồi từ máy chủ phụ trợ trong khoảng thời gian chờ này, thì Bộ xử lý thư đã hết thời gian chờ.
Theo mặc định, thuộc tính này lấy giá trị được đặt cho thuộc tính
thuộc tính Nếu bạn sửa đổi thuộc tính này bằng một giá trị thời gian chờ mới cho một proxy API cụ thể, thì chỉ proxy API đó bị ảnh hưởng. |
HTTPTransport.io.timeout.millis
|
Trình xử lý tin nhắn |
Đây là thời gian tối đa mà Trình xử lý thư thực hiện những việc sau:
Nếu không có phản hồi từ máy chủ phụ trợ trong khoảng thời gian chờ này, thì Bộ xử lý thư đã hết thời gian chờ. Thuộc tính này được dùng cho tất cả Proxy API chạy trên Trình xử lý thư này.
Giá trị mặc định của thuộc tính này là
Bạn có thể sửa đổi thuộc tính này như được giải thích trong
Định cấu hình thời gian chờ I/O trên Trình xử lý thư hoặc bạn có thể
ghi đè giá trị này bằng cách đặt thuộc tính |
Trước khi bắt đầu
Trước khi làm theo các bước trong tài liệu này, hãy đảm bảo bạn hiểu rõ các chủ đề sau:
- Nếu bạn chưa hiểu rõ về thời gian chờ I/O, hãy xem thuộc tính
io.timeout.millis
mô tả bằng Thông số kỹ thuật của thuộc tính truyền tải TargetEndpoint. - Nếu bạn chưa hiểu rõ về cách định cấu hình các thuộc tính cho Edge cho Đám mây riêng tư, hãy đọc bài viết Cách định cấu hình Edge.
- Hãy đảm bảo rằng bạn làm theo các đề xuất trong Các phương pháp hay nhất để định cấu hình thời gian chờ I/O.
Định cấu hình thời gian chờ I/O trong proxy API
Bạn có thể định cấu hình thời gian chờ I/O ở các vị trí proxy API sau đây:
- Điểm cuối đích
- Chính sách về chú thích dịch vụ
Định cấu hình thời gian chờ I/O trong điểm cuối mục tiêu của proxy API
Phần này giải thích cách định cấu hình thời gian chờ I/O trong điểm cuối mục tiêu của proxy API.
Thời gian chờ I/O có thể được định cấu hình thông qua thuộc tính io.timeout.millis
.
biểu thị giá trị thời gian chờ I/O tính bằng mili giây.
- Trong giao diện người dùng Edge, hãy chọn proxy API cụ thể mà bạn muốn định cấu hình Giá trị thời gian chờ I/O.
- Chọn điểm cuối mục tiêu cụ thể mà bạn muốn sửa đổi.
- Thêm thuộc tính
io.timeout.millis
có giá trị thích hợp trong Phần tử<HTTPTargetConnection>
trong cấu hìnhTargetEndpoint
. - Lưu các thay đổi đã thực hiện đối với proxy API.
Ví dụ: để thay đổi Thời gian chờ I/O thành 120 giây, hãy thêm khối mã sau:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Vì thuộc tính io.timeout.millis
tính bằng mili giây, nên giá trị cho
120 giây là 120000
.
Các ví dụ sau đây minh hoạ cách định cấu hình thời gian chờ I/O trong điểm cuối mục tiêu cấu hình proxy API của bạn:
Ví dụ về cấu hình thiết bị đầu cuối đích sử dụng URL cho máy chủ phụ trợ
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
Ví dụ về cấu hình thiết bị đầu cuối mục tiêu sử dụng máy chủ đích
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
Định cấu hình thời gian chờ I/O trong chính sách ServiceAnnotation của proxy API
Phần này giải thích cách định cấu hình thời gian chờ I/O trong chính sách ServiceAnnotation
Proxy API. Thời gian chờ I/O có thể được định cấu hình thông qua phần tử <Timeout>
hoặc thuộc tính io.timeout.millis
. Cả phần tử <Timeout>
và phần tử
Thuộc tính io.timeout.millis
biểu thị các giá trị thời gian chờ I/O tính bằng mili giây.
Bạn có thể định cấu hình thời gian chờ I/O trong chính sách ServiceAnnotation bằng một trong các phương thức sau:
- Phần tử
<Timeout>
. - Thuộc tính
io.timeout.millis
.
Phần tử thời gian chờ
Cách định cấu hình thời gian chờ I/O trong chính sách ServiceAnnotation bằng cách sử dụng <Timeout>
, hãy làm như sau:
- Trong giao diện người dùng Edge, hãy chọn proxy API cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ I/O mới cho chính sách ServiceAnnotation.
- Chọn chính sách Chú thích dịch vụ cụ thể mà bạn muốn sửa đổi.
- Thêm phần tử
<Timeout>
có giá trị thích hợp trong Cấu hình<ServiceCallout>
.Ví dụ: để thay đổi thời gian chờ I/O thành 120 giây, hãy thêm dòng mã sau:
<Timeout>120000</Timeout>
Vì phần tử
<Timeout>
có tính bằng mili giây, nên giá trị cho 120 giây là120000
.Ví dụ sau đây trình bày cách định cấu hình thời gian chờ I/O trong ServiceAnnotation chính sách bằng phần tử
<Timeout>
:Ví dụ về cấu hình chính sách ServiceAnnotation sử dụng URL cho máy chủ phụ trợ
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- Lưu các thay đổi đã thực hiện đối với proxy API.
thuộc tính io.timeout.millis
Cách định cấu hình thời gian chờ I/O trong chính sách ServiceAnnotation bằng cách sử dụng
io.timeout.millis
, hãy làm như sau:
- Trong giao diện người dùng Edge, hãy chọn proxy API cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ I/O mới cho chính sách ServiceAnnotation.
- Chọn chính sách chú thích cho dịch vụ cụ thể mà bạn muốn sửa đổi.
- Thêm thuộc tính
io.timeout.millis
có giá trị thích hợp trong Phần tử<HTTPTargetConnection>
trong cấu hình TargetEndpoint.Ví dụ: để thay đổi thời gian chờ I/O thành 120 giây, hãy thêm khối sau của mã:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Vì thuộc tính
io.timeout.millis
tính bằng mili giây, nên giá trị cho 120 giây là120000
.Các ví dụ sau đây minh hoạ cách định cấu hình thời gian chờ I/O trong điểm cuối mục tiêu cấu hình proxy API của bạn:
Ví dụ về cấu hình chính sách ServiceAnnotation sử dụng URL cho máy chủ phụ trợ
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
Ví dụ về cấu hình chính sách ServiceAnnotation sử dụng máy chủ mục tiêu
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- Lưu các thay đổi đã thực hiện đối với proxy API.
Định cấu hình thời gian chờ I/O trên Bộ xử lý thông báo
Phần này giải thích cách định cấu hình thời gian chờ I/O trên Trình xử lý thông báo.
Thời gian chờ I/O có thể được định cấu hình thông qua thuộc tính HTTPTransport.io.timeout.millis
,
biểu thị giá trị thời gian chờ I/O tính bằng mili giây trên thành phần Trình xử lý thư,
bằng cách sử dụng mã theo cú pháp được mô tả trong
Cách định cấu hình
Cạnh.
Để định cấu hình thời gian chờ I/O trên Trình xử lý thông báo, hãy làm như sau:
- Trên máy Trình xử lý thư, mở tệp sau trong trình chỉnh sửa. Nếu không
đã tồn tại, thì hãy tạo nó.
/opt/apigee/customer/application/message-processor.properties
Ví dụ: để mở tệp bằng
vi
, hãy nhập lệnh sau:vi /opt/apigee/customer/application/message-processor.properties
- Thêm một dòng ở định dạng sau vào tệp thuộc tính, thay thế giá trị cho
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Ví dụ: để thay đổi thời gian chờ I/O trên Trình xử lý thông báo thành 120 giây, thêm dòng sau:
conf_http_HTTPTransport.io.timeout.millis=120000
- Lưu các thay đổi.
- Đảm bảo tệp thuộc tính thuộc sở hữu của người dùng
apigee
như minh hoạ dưới đây:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Khởi động lại Trình xử lý thư như minh hoạ dưới đây:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Nếu bạn có nhiều Trình xử lý thư, hãy lặp lại các bước trên cho tất cả các Thư Bộ xử lý.
Xác minh thời gian chờ I/O trên Trình xử lý thư
Phần này giải thích cách xác minh thời gian chờ I/O đã được sửa đổi thành công trên Bộ xử lý tin nhắn.
Mặc dù bạn sử dụng mã thông báo conf_http_HTTPTransport.io.timeout.millis
để đặt giá trị
Đã hết thời gian chờ I/O trên Trình xử lý thông báo, bạn cần xác minh xem thuộc tính thực tế
HTTPTransport.io.timeout.millis
đã được đặt với giá trị mới.
- Trên máy Xử lý thư, hãy tìm kiếm thuộc tính
HTTPTransport.io.timeout.millis
trong thư mục/opt/apigee/edge-message-processor/conf
và kiểm tra xem đã được đặt với giá trị mới như sau:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Nếu giá trị thời gian chờ I/O mới được đặt thành công trên Trình xử lý thông báo thì
cho biết giá trị mới trong tệp
http.properties
. - Nếu bạn vẫn thấy giá trị cũ của thuộc tính
HTTPTransport.io.timeout.millis
, sau đó xác minh rằng bạn đã làm theo tất cả các bước nêu trong Định cấu hình thời gian chờ I/O trên Trình xử lý thư một cách chính xác. Nếu bạn có đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước một cách chính xác. - Nếu bạn vẫn không thể sửa đổi thời gian chờ I/O, vui lòng liên hệ với Hỗ trợ Apigee Edge.
Kết quả mẫu từ lệnh trên sau khi bạn đã định cấu hình thời gian chờ I/O thành 120 giây như sau:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
Trong kết quả của ví dụ ở trên, hãy lưu ý rằng thuộc tính
Đã đặt HTTPTransport.io.timeout.millis
với giá trị mới là 120000
trong
http.properties
. Mã này cho biết thời gian chờ I/O đã được định cấu hình thành công
lên 120 giây trên Bộ xử lý tin nhắn.
Tiếp theo là gì?
Tìm hiểu về Định cấu hình thời gian chờ I/O trên Bộ định tuyến