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 Bộ xử lý tin nhắn Apigee Edge.
Thời gian chờ I/O trên Bộ xử lý thông báo thể hiện 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 yêu cầu lên máy chủ phụ trợ trước khi hết thời gian chờ.
Giá trị mặc định thời gian chờ của bộ xử lý I/O của bộ xử lý thông báo là 55 seconds
. Khoảng thời gian chờ này áp dụng cho những máy chủ phụ trợ được định cấu hình trong cấu hình điểm cuối mục tiêu và trong chính sách ServiceChú thích của proxy API của bạn.
Bạn có thể tăng hoặc giảm thời gian chờ I/O của Bộ xử lý thông báo từ giá trị mặc định của 55 seconds
tuỳ theo nhu cầu của mình. Bạn có thể định cấu hình giá trị này ở các vị trí sau:
- Trong proxy API
- Điểm cuối mục tiêu
- Chính sách về chú thích dịch vụ
- Trên Bộ 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í | Nội dung mô tả |
---|---|---|
io.timeout.millis
|
Proxy API:
|
Đây là thời gian tối đa để 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 nào 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 thuộc tính này được sửa đổi với giá trị hết 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
|
Bộ xử lý thư |
Đây là thời gian tối đa để 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 nào 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 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ư giải thích trong bài viết Định cấu hình thời gian chờ I/O trên Bộ xử lý thông báo hoặc 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õ những chủ đề sau:
- Nếu bạn chưa hiểu rõ về thời gian chờ I/O, hãy xem nội dung mô tả thuộc tính
io.timeout.millis
trong phần Thông số kỹ thuật của tài sản 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.
- Đảm bảo bạn làm theo đề 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
Thời gian chờ I/O có thể được định cấu hình ở những vị trí proxy API sau:
- Điểm cuối mục tiêu
- 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 đí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.
Thời gian chờ I/O có thể được định cấu hình thông qua thuộc tính io.timeout.millis
. Thuộc tính này thể hiện 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 mới.
- Chọn điểm cuối đích cụ thể mà bạn muốn sửa đổi.
- Thêm thuộc tính
io.timeout.millis
với giá trị thích hợp trong phần tử<HTTPTargetConnection>
của cấu hìnhTargetEndpoint
. - Lưu các thay đổi đã thực hiện đối với proxy API của bạn.
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ị của 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 cấu hình điểm cuối mục tiêu của proxy API:
Ví dụ về cấu hình điểm cuối đích bằng cá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 điểm cuối mục tiêu bằ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 Chú thích dịch vụ 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 của 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à 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 Chú thích dịch vụ bằng một trong các phương pháp sau:
- Phần tử
<Timeout>
. io.timeout.millis
.
Phần tử thời gian chờ
Để định cấu hình thời gian chờ I/O trong chính sách Chú thích dịch vụ bằng phần tử <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 ServiceChú thích.
- 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>
tính bằng mili giây, nên giá trị của 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 Chú thích dịch vụ bằng cách sử dụng phần tử
<Timeout>
:Ví dụ về cấu hình chính sách Chú thích dịch vụ 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 của bạn.
Thuộc tính io.timeout.millis
Để định cấu hình thời gian chờ I/O trong chính sách Chú thích dịch vụ 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ờ 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 thuộc tính
io.timeout.millis
với giá trị thích hợp trong phần tử<HTTPTargetConnection>
của 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.millis
tính bằng mili giây, nên giá trị của 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 cấu hình điểm cuối mục tiêu của proxy API:
Ví dụ về cấu hình chính sách Chú thích dịch vụ 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>
Cấu hình chính sách Chú thích dịch vụ mẫu bằ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 của bạn.
Đị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 Bộ 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 thể hiện 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ý thư, mở tệp sau trong một trình chỉnh sửa. Hãy tạo tài khoản nếu bạn chưa có.
/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 Bộ 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 các thay đổi.
- Đảm bảo tệp thuộc tính do người dùng
apigee
sở hữu như minh hoạ bên dưới:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Khởi động lại Bộ 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ý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.
Xác minh 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 xác minh rằng thời gian chờ I/O đã được sửa đổi thành công trên Bộ xử lý thông báo.
Mặc dù sử dụng mã thông báo conf_http_HTTPTransport.io.timeout.millis
để thiết lập thời gian chờ I/O trên Bộ xử lý thông báo, bạn vẫn cần xác minh xem thuộc tính thực tế HTTPTransport.io.timeout.millis
đã được thiết lập với giá trị mới hay chưa.
- Trên máy xử lý thư, hãy tìm thuộc tính
HTTPTransport.io.timeout.millis
trong thư mục/opt/apigee/edge-message-processor/conf
và kiểm tra xem thuộc tính này đã được thiết lập bằng giá trị mới như minh hoạ dưới đây hay chưa: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 Bộ xử lý thông báo, thì lệnh trên sẽ hiển thị 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 đúng tất cả các bước trong bài viết Định cấu hình thời gian chờ I/O trên Bộ xử lý thông báo. Nếu bạn đã bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước cho đúng cách. - 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 Bộ phận hỗ trợ API 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ả ví dụ ở trên, hãy lưu ý rằng thuộc tính HTTPTransport.io.timeout.millis
đã được thiết lập bằng giá trị mới 120000
trong http.properties
. Điều này cho biết thời gian chờ I/O đã được định cấu hình thành công là 120 giây trên Bộ 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