Antipattern: Menentukan beberapa ProxyEndpoint dalam proxy API

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

Konfigurasi ProxyEndpoint menentukan cara aplikasi klien menggunakan API melalui Apigee Edge. ProxyEndpoint menentukan URL proxy API dan cara proxy berperilaku: kebijakan mana yang akan diterapkan dan endpoint target mana yang akan dirutekan, serta kondisi yang perlu dipenuhi agar kebijakan ini atau aturan rute dijalankan.

Singkatnya, konfigurasi ProxyEndpoint menentukan semua yang perlu dilakukan untuk mengimplementasikan API.

Antipola

Proxy API dapat memiliki satu atau beberapa endpoint proxy. Menentukan beberapa ProxyEndpoint adalah mekanisme yang mudah dan sederhana untuk menerapkan beberapa API dalam satu proxy. Hal ini memungkinkan Anda menggunakan kembali kebijakan dan/atau logika bisnis sebelum dan setelah pemanggilan TargetEndpoint.

Di sisi lain, saat menentukan beberapa ProxyEndpoint dalam satu proxy API, Anda pada akhirnya secara konseptual menggabungkan banyak API yang tidak terkait menjadi satu artefak. Modifikasi ini membuat proxy API lebih sulit dibaca, dipahami, di-debug, dan dikelola. Hal ini menggagalkan filosofi utama proxy API: sehingga memudahkan developer untuk membuat dan mengelola API.

Dampak

Beberapa ProxyEndpoint di proxy API dapat:

  • Sulit bagi developer untuk memahami dan mengelola proxy API.
  • Meng-obfuscate analisis. Secara default, data analisis digabungkan di tingkat proxy. Tidak ada pengelompokan metrik berdasarkan endpoint proxy kecuali jika Anda membuat laporan kustom.
  • Mempersulit pemecahan masalah terkait proxy API.

Praktik terbaik

Saat Anda menerapkan proxy API baru atau mendesain ulang proxy API yang ada, gunakan praktik terbaik berikut:

  1. Implementasikan satu proxy API dengan satu ProxyEndpoint.
  2. Jika ada beberapa API yang memiliki server target yang sama dan/atau memerlukan logika yang sama sebelum atau sesudah pemanggilan server target, pertimbangkan untuk menggunakan alur bersama guna menerapkan logika tersebut di proxy API yang berbeda.
  3. Jika ada beberapa API yang menggunakan jalur dasar awal yang sama, tetapi akhirannya berbeda, gunakan flow kondisional dalam satu ProxyEndpoint.
  4. Jika ada proxy API dengan beberapa ProxyEndpoint dan jika tidak ada masalah dengan proxyEndpoint, Anda tidak perlu melakukan tindakan apa pun.

Menggunakan satu ProxyEndpoint per proxy API akan menyebabkan:

  1. Proxy yang lebih sederhana dan mudah dikelola
  2. Informasi yang lebih baik di Analytics, seperti performa proxy dan target waktu respons, akan dilaporkan secara terpisah, bukan digabungkan untuk semua ProxyEndpoint
  3. Pemecahan masalah dan penyelesaian masalah yang lebih cepat

Bacaan lebih lanjut