Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Anda dapat menentukan bahwa satu proxy adalah endpoint target dari proxy lainnya, yang secara efektif menghubungkan dua proxy dalam rantai proxy. Membuat rantai proxy dengan cara ini dapat membantu Anda menghindari hop jaringan, sehingga dapat meningkatkan performa secara keseluruhan.
Dengan perantaian proxy, Anda menentukan bahwa satu proxy adalah endpoint target lokal proxy lainnya.
Alih-alih menggunakan elemen HTTPTargetConnection
untuk melakukan panggilan ke proxy
kedua, gunakan elemen LocalTargetConnection
.
<LocalTargetConnection> <APIProxy>myproxy2</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Peran rantai proxy mungkin berguna jika Anda memiliki proxy yang menawarkan beberapa fungsionalitas tingkat rendah terpisah yang akan digunakan oleh proxy lain. Misalnya, proxy yang mengekspos operasi buat/baca/perbarui/hapus dengan penyimpanan data backend dapat menjadi proxy target untuk beberapa proxy lain yang mengekspos data tersebut kepada klien.
Video: Tonton video singkat untuk mempelajari lebih lanjut perantaian proxy API.
Cara kerja perantaian proxy
Rantai proxy menggunakan koneksi lokal untuk meminimalkan overhead jaringan saat memanggil satu proxy dari proxy lainnya. Koneksi lokal ini lebih efisien karena mengabaikan fitur jaringan, seperti load balancer, router, dan pemroses pesan.
Berikut adalah penjelasan mengenai perbedaan antara menghubungkan proxy menggunakan HTTPTargetConnection
dan LocalTargetConnection
(proxy chaining):
Anda menghubungkan proxy dengan menentukan bahwa salah satunya merupakan endpoint target lokal dari proxy lainnya. Anda dapat membuat koneksi lokal antar-proxy dengan dua cara:
- Dengan menentukan nama proxy target dan nama
ProxyEndpoint
- Dengan menentukan jalur ke endpoint proxy target
Anda menghubungkan proxy target dalam konfigurasi TargetEndpoint
, menggunakan elemen LocalTargetConnection
, seperti yang dijelaskan di bawah.
Menghubungkan proxy berdasarkan nama proxy
Anda dapat menentukan proxy target berdasarkan nama. Cara ini paling berguna saat Anda membuat koneksi dari awal dan mengembangkan proxy bersama-sama. Jika Anda tidak mengetahui nama tersebut (atau nama mungkin berubah), pertimbangkan untuk terhubung dengan jalur endpoint proxy target, seperti yang dijelaskan di bawah ini.
Saat terhubung ke proxy target berdasarkan nama, Anda menentukan nama proxy dan nama
ProxyEndpoint
-nya.
Contoh berikut menetapkan proxy target yang disebut data-manager
, beserta
nama ProxyEndpoint
yang diekspos oleh data-manager
. Untuk informasi referensi, lihat Referensi konfigurasi proxy API.
<TargetEndpoint name="datamanager"> <PreFlow name="PreFlow"> <!-- PreFlow policies --> </PreFlow> <PostFlow name="PostFlow"> <!-- PostFlow policies --> </PostFlow> <LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection> </TargetEndpoint>
Menghubungkan proxy berdasarkan jalur
Anda dapat menentukan proxy target berdasarkan jalur endpoint-nya. Anda mungkin perlu melakukannya dengan cara ini jika Anda tidak tahu nama proxy-nya, atau ketika nama tersebut mungkin berubah.
Jika proxy Anda hanya menjadi konsumen proxy target—misalnya ketika Anda tidak mengembangkan keduanya—jalur tersebut mungkin menjadi cara yang paling andal untuk terhubung. Misalnya, jika proxy yang Anda hubungkan dikembangkan dan dikelola oleh tim lain, sebaiknya hubungkan menggunakan jalur endpoint yang andal.
Contoh berikut menetapkan proxy target pada
/v1/streetcarts/foodcarts/data-manager
, dengan host dianggap sama dengan
proxy saat ini. Untuk informasi referensi, lihat Referensi konfigurasi proxy API.
<TargetEndpoint name="datamanager"> <PreFlow name="PreFlow"> <!-- PreFlow policies --> </PreFlow> <PostFlow name="PostFlow"> <!-- PostFlow policies --> </PostFlow> <LocalTargetConnection> <Path>/v1/streetcarts/foodcarts/data-manager</Path> </LocalTargetConnection> </TargetEndpoint>
Menghubungkan proxy dengan konsol pengelolaan
Anda dapat membuat koneksi perantaian proxy menggunakan konsol pengelolaan Edge.
- Buka proxy yang akan menggunakan proxy target.
- Di Navigator, klik tanda plus di samping Target Endpoints.
- Pada dialog New Target Endpoint, masukkan nama endpoint target.
- Di bawah kotak Target Endpoint Name, pilih salah satu opsi berikut:
-
Proxy Chaining untuk memilih dari daftar proxy yang sudah ada di organisasi dan
lingkungan.
- Pada dropdown Proxy Name, pilih proxy target.
- Di kotak Proxy Endpoint, masukkan jalur endpoint proxy target yang ingin Anda hubungkan.
- Rantai Jalur untuk memasukkan jalur dasar proxy target, seperti
/mypath/myproxy/myendpoint
.
-
Proxy Chaining untuk memilih dari daftar proxy yang sudah ada di organisasi dan
lingkungan.
- Klik Tambahkan.
Proxy berantai, produk API, dan keamanan
Perantaian proxy sangat cocok untuk kasus ketika kedua proxy berada di produk API yang sama. Secara default, keduanya tersedia untuk klien. Apigee saat ini tidak mendukung pemaketan proxy kedua dalam produk API terpisah yang tidak dapat diakses oleh klien.
Jika proxy kedua Anda harus diamankan dari permintaan klien langsung, pertimbangkan untuk menambahkan logika agar proxy kedua Anda memeriksa alamat IP klien. Dalam kasus panggilan yang dilakukan melalui rantai, alamat IP akan bersifat lokal. Kode Anda dapat memvalidasi bahwa kode tersebut bersifat lokal sebelum mengizinkan pemrosesan untuk dilanjutkan. Lihat kebijakan Kontrol Akses untuk mengetahui satu cara melakukannya.