API7 Enterprise v3.5.0: Konfigurasi Multi-Upstream
February 19, 2025
Upstream: Navigasi Presisi Permintaan
Untuk lebih memahami konsep upstream, mari gunakan sebuah metafora: Bayangkan sebuah bandara yang ramai di mana orang-orang terus datang dan pergi. Para pelancong, seperti permintaan API, tiba dalam jumlah besar, bersemangat untuk menemukan gerbang keberangkatan mereka untuk memulai perjalanan mereka. Di dunia API7 Gateway, upstream mirip dengan gerbang keberangkatan ini. Namun, mereka bukan lokasi fisik melainkan pengelompokan logis. Pengelompokan logis ini secara jelas menentukan ke mana permintaan API yang masuk harus dikirim.
Sebuah upstream mungkin mewakili satu layanan backend, seperti gerbang keberangkatan khusus, di mana semua permintaan terkait dapat mencapai tujuan mereka dengan tepat. Ini juga bisa mewakili sekumpulan layanan yang identik untuk load balancing, mirip dengan beberapa gerbang keberangkatan yang secara fungsional identik yang mendistribusikan lalu lintas penumpang dengan efisien. Atau, ini bisa menunjuk ke registri layanan di mana backend yang sesuai berubah secara dinamis untuk menyesuaikan dengan kebutuhan bisnis yang berkembang. Dalam kebanyakan kasus, satu upstream dalam layanan dapat menghubungkan beberapa rute dalam layanan, memungkinkan aliran permintaan yang efisien.
Pada intinya, upstream secara cerdas menciptakan lapisan abstraksi antara rute dan layanan backend yang sebenarnya. Abstraksi ini sangat signifikan. Ini sangat menyederhanakan manajemen konfigurasi, membuat proses konfigurasi yang rumit menjadi jelas dan teratur. Ini juga memungkinkan load balancing secara mulus, memastikan bahwa beban pada setiap layanan backend masuk akal dan meningkatkan kinerja sistem secara keseluruhan.
Konfigurasi Multi-Upstream: Era Baru Manajemen Lalu Lintas
Konfigurasi multi-upstream adalah fitur unggulan dari API7 Enterprise. Ini menghilangkan batasan tradisional, memungkinkan layanan untuk dengan bebas mengonfigurasi beberapa layanan upstream kapan saja, di mana saja. Ini tidak terbatas pada skenario canary tetapi lebih lanjut meluas ke berbagai skenario manajemen lalu lintas tingkat lanjut. Digabungkan dengan plugin, ini dapat secara fleksibel mengonfigurasi aturan routing untuk mendistribusikan permintaan ke berbagai layanan upstream dengan presisi.
Skenario Penggunaan
-
Canary Deployment: Selama pengujian canary, buat upstream baru yang menunjuk ke versi baru dari layanan yang sama. Kemudian, dengan cerdas arahkan sebagian lalu lintas ke versi baru dari microservice. Ini memungkinkan Anda memverifikasi kebenaran fitur baru dalam skala kecil, secara efektif mengurangi risiko, seperti latihan kecil sebelum pertunjukan resmi.
-
Blue-Green Deployment: Pertama, alihkan semua lalu lintas ke versi baru dengan lancar. Setelah memastikan bahwa versi baru berjalan stabil, aman untuk menonaktifkan versi lama. Ini mencapai deployment tanpa downtime, memastikan ketersediaan layanan yang berkelanjutan dan membuat pengguna hampir tidak menyadari pembaruan sistem.

-
A/B Testing: Bagi lalu lintas menjadi beberapa kelompok dan arahkan ke layanan upstream yang berbeda. Ini memungkinkan Anda membandingkan efek dari solusi yang berbeda secara intuitif, memberikan dukungan data yang kuat untuk pengambilan keputusan, seperti membandingkan solusi produk yang berbeda dalam riset pasar.
-
Failover: Ketika layanan upstream utama mengalami kegagalan, sistem dapat dengan cepat mengalihkan lalu lintas ke layanan upstream cadangan. Ini bertindak sebagai "asuransi" untuk layanan, memastikan ketersediaannya dan mempertahankan pengalaman pengguna yang baik.
-
Manajemen Multi-Cluster: Dalam lingkungan multi-data center atau multi-cloud, konfigurasi multi-upstream dapat mendistribusikan lalu lintas ke berbagai cluster dengan wajar, seperti cluster reguler dan VIP. Ini tidak hanya meningkatkan ketersediaan sistem dan kemampuan pemulihan bencana tetapi juga mencapai load balancing dan isolasi sumber daya, memastikan operasi sistem yang stabil dalam lingkungan yang kompleks.
Namun, penting untuk dicatat bahwa meskipun konfigurasi multi-upstream membawa fungsionalitas yang kuat, ini juga secara signifikan meningkatkan kompleksitas dan kesulitan manajemen. Ini memerlukan perencanaan bisnis yang cermat dan pemahaman mendalam tentang konfigurasi API gateway.
Tips untuk Menggunakan Konfigurasi Multi-Upstream Secara Efektif
-
Perkenalan Bertahap: Saat memperkenalkan konfigurasi multi-upstream, mulailah dengan skenario sederhana, seperti tes pemisahan lalu lintas dasar. Kumpulkan pengalaman sebelum secara bertahap memperluas ke skenario yang lebih kompleks untuk menghindari kewalahan oleh kompleksitas sejak awal.
-
Pengujian Menyeluruh: Pengujian komprehensif sebelum publikasi sangat penting. Simulasikan berbagai skenario yang mungkin terjadi untuk memastikan kebenaran konfigurasi, seperti melakukan pemeriksaan kualitas yang ketat sebelum meluncurkan produk baru.
-
Pemantauan dan Peringatan: Bangun mekanisme pemantauan dan peringatan yang kuat untuk terus memantau operasi sistem. Jika ada anomali terdeteksi, peringatan dan tindakan tepat waktu dapat diambil untuk mengatasi masalah, menjaga operasi sistem yang stabil.

Alat Kuat: Plugin traffic-split
Untuk mencapai fungsionalitas kuat dari konfigurasi multi-upstream, plugin traffic-split sangat diperlukan. Plugin ini sangat fungsional, mendistribusikan lalu lintas ke berbagai layanan upstream secara dinamis berdasarkan kondisi dan bobot yang telah ditentukan.
Dalam hal pencocokan kondisi, ini dapat merumuskan aturan distribusi lalu lintas yang kompleks berdasarkan informasi seperti URL, Header, Cookie dari permintaan, dan bahkan faktor eksternal seperti waktu dan tanggal. Misalnya, ini dapat mengarahkan permintaan dari pengguna VIP tertentu ke layanan upstream yang sesuai dengan cluster VIP atau mengarahkan sebagian lalu lintas ke layanan upstream yang sesuai dengan versi baru selama periode waktu tertentu. Dalam hal konfigurasi bobot, dengan menetapkan bobot yang berbeda, ini dapat mengontrol rasio distribusi lalu lintas di antara berbagai layanan upstream dengan presisi. Misalnya, selama canary release, ini dapat mengarahkan 90% lalu lintas ke upstream yang sesuai dengan lingkungan produksi dan 10% ke upstream yang sesuai dengan lingkungan pengujian.
Dengan memanfaatkan fitur konfigurasi multi-upstream dan plugin traffic-split secara efektif, Anda dapat sangat meningkatkan fleksibilitas dan keandalan API gateway. Ini meletakkan dasar yang kuat untuk implementasi arsitektur microservice yang sukses, memungkinkan kita untuk maju dengan mantap di jalur digital dan menghadapi berbagai tantangan bisnis yang kompleks.
Kesimpulan
Berfungsi sebagai sistem navigasi presisi untuk permintaan, upstream secara efisien mengarahkan permintaan API ke layanan target melalui pengelompokan logis. Konfigurasi multi-upstream dari API7 Enterprise lebih lanjut meningkatkan fleksibilitas manajemen lalu lintas, mendukung skenario tingkat lanjut seperti canary deployments, blue-green deployments, A/B testing, failover, dan manajemen multi-cluster. Dengan bantuan plugin traffic-split, lalu lintas dapat dialokasikan secara dinamis berdasarkan kondisi dan bobot yang telah ditentukan, memastikan kinerja dan stabilitas sistem yang tinggi.
