Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Giới hạn biến môi trường
Mục tiêu được lưu trữ giới hạn kích thước và số lượng biến môi trường mà bạn có thể đặt trong môi trường thời gian chạy của Mục tiêu được lưu trữ.
- 1000: Độ dài tối đa của một biến môi trường.
- 100: Số biến môi trường tối đa mà bạn có thể đặt.
Để biết thông tin về cách đặt biến môi trường, hãy xem Tệp kê khai.
Biến môi trường được thiết lập trong thời gian chạy của ứng dụng
Khi bạn triển khai ứng dụng Mục tiêu được lưu trữ, các biến môi trường sau sẽ được đặt và có sẵn cho ứng dụng của bạn trong thời gian chạy:
APIGEE_ENVIRONMENT
– Môi trường triển khai proxy Mục tiêu được lưu trữ.APIGEE_ORGANIZATION
– Tổ chức triển khai proxy Mục tiêu được lưu trữ.PORT
– Cổng nơi ứng dụng Mục tiêu được lưu trữ phải theo dõi.
Phân bổ tài nguyên hệ thống
Mỗi phiên bản được lưu trữ của Mục tiêu được lưu trữ sẽ nhận được các tài nguyên sau:
- Bộ nhớ 256 MB
- CPU 1,2 GHz
Chuyển tỷ lệ
Phần này mô tả cách mở rộng quy mô của các ứng dụng Hosted Targets (Mục tiêu được lưu trữ), tuỳ thuộc vào loại tài khoản Edge của bạn.- Phiên bản dùng thử của Apigee Edge chỉ được phép có một bản sao Mục tiêu được lưu trữ trên mỗi proxy.
- Các tài khoản Apigee Edge có trả phí được tự động điều chỉnh tỷ lệ dựa trên tỷ lệ yêu cầu, độ trễ phản hồi,
và các chỉ số khác về ứng dụng cho mỗi proxy.
- Các ứng dụng Nhắm mục tiêu được triển khai cho cả phiên bản dùng thử và phiên bản có tính phí của Apigee Edge đều sẽ mở rộng quy mô thành 0 khi không có hoạt động nào. Trong trường hợp này, bạn có thể nhận thấy thời gian phản hồi chậm hơn trong một khoảng thời gian ngắn. Xem thêm Các vấn đề đã biết
Tệp kê khai
Để thu thập thông tin thời gian chạy nhằm xây dựng và triển khai ứng dụng được lưu trữ, Edge tìm kiếm một tệp kê khai có tên app.yaml trong thư mục resources/hosts. Tệp này chứa thông tin cần thiết để tạo và triển khai ứng dụng Mục tiêu được lưu trữ.
Cú pháp tệp Manfiest
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
Phần tử của tệp kê khai
Tệp kê khai app.yaml bao gồm các phần tử sau:
- thời gian chạy - (Bắt buộc) Chỉ định loại ứng dụng bạn đang triển khai.
Bạn phải chỉ định
node
. - runtimeVersion – (Không bắt buộc) Phiên bản thời gian chạy mà mà ứng dụng của bạn sử dụng. Mặc định: Node.js LTS (v10.x). Tham khảo Kho lưu trữ chính thức của Docker cho Nút để có các lựa chọn khác.
- command – (Tùy chọn) Cho phép bạn chỉ định một lệnh để chạy ngoài lệnh
lệnh mặc định dùng để khởi động ứng dụng. Mặc định:
Node.js=npm
- args – (Không bắt buộc) Mảng các đối số dòng lệnh cần truyền đến
ứng dụng (được chỉ định trong cú pháp mảng YAML chuẩn). Thông thường, các mã này được thêm vào lệnh mặc định.
Lựa chọn mặc định là start (bắt đầu). Ví dụ: theo mặc định, ứng dụng Node.js sẽ được chuyển lệnh
npm start
. - env – (Không bắt buộc) Một mảng biến môi trường (cặp tên/giá trị) thiết lập trong môi trường thời gian chạy của mục tiêu được lưu trữ. Bạn có thể sử dụng các biến này cho đã triển khai ứng dụng Hosted Targets (Mục tiêu được lưu trữ).
- name – Tên biến.
- giá trị | valueRef – Bạn có hai lựa chọn. Bạn có thể đặt giá trị theo cố định
hoặc tham chiếu một giá trị được lưu trữ trong Bản đồ giá trị khoá. Bản đồ giá trị khoá phải
đã tồn tại trong môi trường Edge của bạn. Xem Làm việc với bản đồ giá trị khoá
- Nếu sử dụng value, bạn phải
chỉ định một biến
name
vàvalue
cố định. Ví dụ:runtime: node env: - name: NODE_ENV value: production
- Nếu bạn sử dụng valueRef,
thì bạn phải cung cấp tên của Bản đồ giá trị khoá (KVM) mà bạn đã tạo trước đó trong Edge và một khoá.
Ví dụ:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- Nếu sử dụng value, bạn phải
chỉ định một biến
- apigeetool -- Một dòng lệnh để triển khai proxy của Edge.
- get_token – Công cụ dòng lệnh để lấy mã thông báo uỷ quyền mà apigeetool yêu cầu.
- Trong trình duyệt, hãy truy cập vào https://github.com/apigee/api-platform-samples.
- Nhấp vào Sao chép hoặc tải xuống rồi kéo kho lưu trữ vào hệ thống cục bộ của bạn bằng cách sử dụng phương thức ưa thích của bạn.
- cd để <your install dir>/api-platform-samples/doc-samples/samples-targets
- Sau khi kho lưu trữ được tải xuống, bạn có thể cd vào bất kỳ thư mục mẫu nào và làm theo Đọc hướng dẫn README để triển khai proxy mẫu cho Edge. Lệnh triển khai được hiển thị bên dưới. Simply thay thế các thông số được chỉ định bằng các thông số cho tài khoản Apigee của bạn:
- Độ trễ mạng – Hiện ứng dụng Node.js không còn chạy nữa trong JVM của MP, hiện đã có một sự chuyển đổi mạng giữa MP và việc triển khai. Tất nhiên điều này có chi phí, nhưng điểm chuẩn ban đầu cho thấy nó hoạt động tốt trong phạm vi hợp lý
- Phản hồi API chậm – Cơ sở hạ tầng chạy ứng dụng của bạn tự động điều chỉnh quy mô dựa trên nhu cầu. Điều này có nghĩa là ứng dụng của bạn có thể thực sự giảm quy mô xuống không có thực thể nào và nếu đúng như vậy, yêu cầu API tiếp theo sẽ mất nhiều thời gian hơn một chút các yêu cầu API thông thường vì cơ sở hạ tầng đang quay(các) thực thể để xử lý yêu cầu.
- Lỗi triển khai – Nếu bạn gặp lỗi triển khai khi triển khai một Proxy Mục tiêu được lưu trữ, hãy thử triển khai lại proxy. Trong một số trường hợp, có thể hết thời gian triển khai và nếu bạn triển khai lại, vấn đề sẽ tự được giải quyết.
Tệp kê khai mẫu
Phần này chứa các tệp kê khai mẫu cho Node.js
. Tệp kê khai bắt buộc phải được đặt để triển khai ứng dụng Mục tiêu được lưu trữ và phải được đặt tại
trong thư mục apiproxy/resources/hosted
, và tên tệp phải là app.yaml
.
Sau đây là các tệp app.yaml
(tệp kê khai) mẫu cho ứng dụng Node.js.
Ví dụ chỉ định một biến môi trường cố định:
runtime: node
env:
- name: NODE_ENV
value: production
Ví dụ về lệnh bắt đầu, đối số dòng lệnh và biến môi trường.
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
Ví dụ chỉ định tham chiếu đến một bản đồ giá trị khoá (KVM):
Để biết thêm thông tin về quyền truy cập KVM, hãy xem phần Tệp kê khai.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
Ứng dụng Mục tiêu được lưu trữ mẫu trên GitHub
Apigee cung cấp các proxy mẫu trên GitHub với các ứng dụng được lưu trữ ( Hosted Targets) được viết trong Node.js. Bạn có thể sao chép kho lưu trữ này và làm theo hướng dẫn README để triển khai bất kỳ proxy nào.
Điều kiện tiên quyết
Để triển khai mẫu, bạn phải cài đặt 2 công cụ trên hệ thống:
Nếu muốn kiểm thử các mẫu cục bộ, bạn cũng phải cài đặt Node.js.
Lấy kho lưu trữ mẫu
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
Ví dụ: Thực thi ứng dụng mẫu
Sao chép kho lưu trữ mẫu
cd ~/myhome
git clone https://github.com/apigee/api-platform-samples.git
cd ~/myhome/api-platform-samples/doc-samples/hosted-targets
cd node-hosted-hello
Kiểm thử ứng dụng cục bộ
Bạn phải cài đặt Node.js để thực hiện kiểm thử cục bộ này.
PORT=8081 node apiproxy/resources/hosted/index.js
curl http://localhost:8081
Kết quả điểm dữ liệu:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}
Triển khai proxy
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
Kiểm thử quá trình triển khai
Quá trình triển khai có thể mất vài phút. Nếu bạn gặp lỗi triển khai, hãy thực thi triển khai lại lệnh.
curl http://myorg-test.apigee.net/node-hosted-hello
Kết quả điểm dữ liệu:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"