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
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ý thông báo Apigee Edge.
Thời gian chờ I/O trên Trình xử lý thông báo là 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 chờ cho đến khi ổ cắm sẵn sàng ghi yêu cầu vào 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. Khoảng thời gian chờ này áp dụng cho các máy chủ phụ trợ được định cấu hình trong cấu hình điểm cuối đích và trong chính sách ServiceCallout của proxy API.
Bạn có thể tăng hoặc giảm thời gian chờ I/O cho Trình xử lý thông báo so với giá trị mặc định là 55 seconds tuỳ theo nhu cầu. Bạn có thể định cấu hình giá trị nhận dạng này ở những nơi sau:
- Trong proxy API
- Điểm cuối mục tiêu
- Chính sách ServiceCallout
- Trên Bộ xử lý thông báo
Các thuộc tính sau đây 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 | Thông tin vị trí | Mô tả |
|---|---|---|
io.timeout.millis
|
API proxy:
|
Đây là khoảng thời gian tối đa mà Trình xử lý thông báo 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ì Trình xử lý thông báo sẽ 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 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 đó mới bị ảnh hưởng. |
HTTPTransport.io.timeout.millis
|
Bộ xử lý thông báo |
Đây là khoảng thời gian tối đa mà Trình xử lý thông báo 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ì Trình xử lý thông báo sẽ hết thời gian chờ. Thuộc tính này được dùng cho tất cả các API Proxy đang chạy trên Message Processor 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 phần Định cấu hình thời gian chờ I/O trên Trình xử lý thông báo 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 sử dụng 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 quen với thời gian chờ I/O, hãy xem nội dung mô tả thuộc tính
io.timeout.millistrong TargetEndpoint Transport Property Specification (Quy cách thuộc tính truyền tải TargetEndpoint). - Nếu bạn chưa quen với việc định cấu hình các thuộc tính cho Edge for Private Cloud, hãy đọc bài viết Cách định cấu hình Edge.
- Đảm bảo rằng bạn làm theo các đề xuất trong phần 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 ở những vị trí sau trong proxy API:
- Điểm cuối mục tiêu
- Chính sách ServiceCallout
Định cấu hình thời gian chờ I/O trong điểm cuối đích 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 đích của proxy API.
Bạn có thể định cấu hình thời gian chờ I/O thông qua thuộc tính io.timeout.millis. Thuộc tính này 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 một API proxy cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ I/O mới.
- 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.milliscó giá trị thích hợp trong phần tử<HTTPTargetConnection>trong cấu hìnhTargetEndpoint. - Lưu các thay đổi đối với API proxy.
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 cho thấy cách định cấu hình thời gian chờ I/O trong cấu hình điểm cuối đích của proxy API:
Ví dụ về cấu hình điểm cuối mục tiêu bằ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 điểm cuối mục tiêu bằng cách sử dụng máy chủ mục tiêu
<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 ServiceCallout 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 ServiceCallout của proxy API. Bạn có thể định cấu hình thời gian chờ I/O thông qua phần tử <Timeout> hoặc thuộc tính io.timeout.millis. Cả phần tử <Timeout> và thuộc tính io.timeout.millis đều 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 ServiceCallout bằng một trong các phương thức sau:
- Phần tử
<Timeout>. io.timeout.millis.
Phần tử hết thời gian
Để định cấu hình thời gian chờ I/O trong chính sách ServiceCallout bằng cách sử dụng phần tử <Timeout>, hãy làm như sau:
- Trong giao diện người dùng Edge, hãy chọn một proxy API cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ đầu vào/đầu ra mới cho chính sách ServiceCallout.
- 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ị phù 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>tính bằng mili giây, nên giá trị cho 120 giây là120000.Ví dụ sau đây cho thấy cách định cấu hình thời gian chờ I/O trong chính sách ServiceCallout bằng phần tử
<Timeout>:Ví dụ về cấu hình chính sách ServiceCallout bằ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 đối với API proxy.
thuộc tính io.timeout.millis
Để định cấu hình thời gian chờ I/O trong chính sách ServiceCallout bằng cách sử dụng thuộc tính 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ờ đầu vào/đầu ra mới cho chính sách ServiceCallout.
- Chọn chính sách chú thích dịch vụ cụ thể mà bạn muốn sửa đổi.
- Thêm thuộc tính
io.timeout.milliscó 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 mã sau:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>Vì thuộc tính
io.timeout.millistính bằng mili giây, nên giá trị cho 120 giây là120000.Các ví dụ sau đây cho thấy cách định cấu hình thời gian chờ I/O trong cấu hình điểm cuối đích của proxy API:
Ví dụ về cấu hình chính sách ServiceCallout bằ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 ServiceCallout bằng cách sử dụng máy chủ đích
<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 đối với API proxy.
Định cấu hình thời gian chờ I/O trên Trình 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.
Bạn có thể định cấu hình thời gian chờ I/O thông qua thuộc tính HTTPTransport.io.timeout.millis. Thuộc tính này 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ông báo, bằng cách sử dụng mã thông báo theo cú pháp được mô tả trong phần Cách định cấu hình Edge.
Để định cấu hình thời gian chờ I/O trên Bộ xử lý thông báo, hãy làm như sau:
- Trên máy Xử lý tin nhắn, hãy mở tệp sau trong một trình chỉnh sửa. Nếu chưa có, hãy tạo một tệp.
/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 theo định dạng sau vào tệp thuộc tính, thay thế một 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, hãy thêm dòng sau:
conf_http_HTTPTransport.io.timeout.millis=120000
- Lưu thay đổi.
- Đảm bảo tệp thuộc tính thuộc quyền sở hữu của người dùng
apigeenhư minh hoạ dưới đây:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Khởi động lại Trình xử lý tin nhắn 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ý tin nhắn, hãy lặp lại các bước trên cho tất cả Trình xử lý tin nhắn.
Xác minh thời gian chờ I/O trên Trình xử lý thông báo
Phần này giải thích cách xác minh rằng bạn đã sửa đổi thành công thời gian chờ I/O trên Bộ xử lý thông báo.
Mặc dù bạn sử dụng mã thông báo conf_http_HTTPTransport.io.timeout.millis để đặt thời gian chờ I/O trên Trình xử lý thông báo, nhưng bạn cần xác minh xem thuộc tính thực tế HTTPTransport.io.timeout.millis đã được đặt bằng giá trị mới hay chưa.
- Trên máy Message Processor, hãy tìm thuộc tính
HTTPTransport.io.timeout.millistrong thư mục/opt/apigee/edge-message-processor/confvà kiểm tra xem thuộc tính này đã được đặt thành giá trị mới hay chưa như minh hoạ bên dưới:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Nếu bạn đặt thành công giá trị thời gian chờ I/O mới trên Trình xử lý thông báo, thì lệnh trên sẽ cho thấy giá trị mới trong tệp
http.properties. - Nếu bạn vẫn thấy giá trị cũ cho thuộc tính
HTTPTransport.io.timeout.millis, hãy xác minh rằng bạn đã làm theo tất cả các bước được nêu trong phần Định cấu hình thời gian chờ I/O trên Trình xử lý thông báo một cách chính xác. Nếu bạn bỏ lỡ 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 Nhóm hỗ trợ Apigee Edge.
Sau đây là 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:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
Trong ví dụ về đầu ra ở trên, hãy lưu ý rằng thuộc tính HTTPTransport.io.timeout.millis đã được đặt thành giá trị mới 120000 trong http.properties. Điều này cho biết bạn đã định cấu hình thành công thời gian chờ I/O thành 120 giây trên Trình xử lý thông báo.
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