Antipattern: Biarkan Proxy NodeJS API yang tidak digunakan di-deploy

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Salah satu fitur Apigee Edge yang unik dan bermanfaat adalah kemampuan untuk menggabungkan aplikasi NodeJS dalam Proxy API. Hal ini memungkinkan developer membuat aplikasi sisi server berbasis peristiwa menggunakan Edge.

Antipola

Deployment Proxy API adalah proses penyediaan proxy untuk melayani permintaan API. Setiap Proxy API yang di-deploy dimuat ke dalam memori runtime Pemroses Pesan agar dapat menyalurkan permintaan API untuk Proxy API tertentu. Oleh karena itu, penggunaan memori runtime akan meningkat seiring dengan peningkatan jumlah Proxy API yang di-deploy. Membiarkan Proxy API yang tidak digunakan dan di-deploy dapat menyebabkan penggunaan memori runtime yang tidak perlu.

Dalam kasus Proxy NodeJS API, ada implikasi lebih lanjut.

Platform meluncurkan “Aplikasi node” untuk setiap Proxy NodeJS API yang di-deploy. Aplikasi Node mirip dengan instance server node mandiri pada proses JVM Message Processor.

Akibatnya, untuk setiap Proxy NodeJS API yang di-deploy, Edge meluncurkan satu server node masing-masing untuk memproses permintaan atas proxy yang sesuai. Jika Proxy NodeJS API yang sama di-deploy di beberapa lingkungan, aplikasi node yang sesuai akan diluncurkan untuk setiap lingkungan. Jika ada banyak Proxy NodeJS API yang di-deploy tetapi tidak digunakan, beberapa aplikasi Node akan diluncurkan. Proxy NodeJS yang tidak digunakan diterjemahkan ke aplikasi Node yang tidak ada aktivitas, yang menggunakan memori dan memengaruhi waktu mulai proses aplikasi.

Proxy yang Digunakan Proxy yang Tidak Digunakan
# Proxy # Lingkungan yang Di-deploy # nodeapps Diluncurkan # Proxy # Lingkungan yang Di-deploy # aplikasi Node Diluncurkan
10 pengembangan, pengujian, produksi (3) 10x3=30 12 pengembangan, pengujian, produksi (3) 12x3=36

Dalam ilustrasi di atas, 36 aplikasi node yang tidak digunakan diluncurkan, yang menghabiskan memori sistem dan memiliki efek buruk pada waktu mulai proses.

Dampak

  • Penggunaan memori yang tinggi dan efek menurun pada kemampuan aplikasi untuk memproses permintaan lebih lanjut
  • Kemungkinan dampak performa pada Proxy API yang benar-benar menyalurkan traffic

Praktik terbaik

  • Batalkan deployment Proxy API yang tidak digunakan
  • Gunakan dasbor Performa Proxy Analytics untuk menentukan proxy mana yang tidak memberikan traffic; batalkan deployment yang tidak Anda perlukan

Bacaan lebih lanjut