Perbandingan Pemilihan API Gateway Apache APISIX dan Kong

API7.ai

January 18, 2020

Products

Apache APISIX dan Kong keduanya adalah gateway API mikrolayanan sumber terbuka, jadi bagaimana Anda membandingkan dan memilih di antara keduanya?

Kedua proyek ini dilengkapi dengan dokumentasi dan pengujian yang lengkap, dan banyak pengguna produksi telah menggunakannya, jadi tidak perlu khawatir tentang stabilitas dan pengembangan berkelanjutan mereka. Artikel ini akan fokus pada fungsi dan performa yang paling langsung dan dapat diverifikasi. Untuk membuat perbandingan dari perspektif yang berbeda.

Kedua proyek ini dilengkapi dengan dokumentasi dan pengujian yang lengkap, dan banyak pengguna produksi telah menggunakannya, jadi tidak perlu khawatir tentang stabilitas dan pengembangan berkelanjutan mereka. Artikel ini akan fokus pada fungsi dan performa yang paling langsung dan dapat diverifikasi. Untuk membuat perbandingan dari perspektif yang berbeda.

FiturApache APISIXKONG
Upstream dinamisYaYa
Router dinamisYaYa
Pemeriksaan kesehatanYaYa
SSL dinamisYaYa
Proxy L4 dan L7YaYa
OpentracingYaYa
Plugin kustomYaYa
REST APIYaYa
CLIYaYa

Untuk perbandingan yang lebih detail.

FiturApache APISIXKong
MilikApache Software FoundationKong Inc.
Arsitektur TeknologiNginx + etcdNginx + postgres
Saluran komunikasiDaftar email, grup Wechat, grup QQ, GitHub, meetupGitHub, freenode, forum
CPU single-core, QPS (mengaktifkan plugin limit-count dan prometheus)180001700
Latensi0.2 ms2 ms
DubboYaTidak
Rollback konfigurasiYaTidak
Rute dengan TTLYaTidak
Pemuatan panas pluginYaTidak
LB dan rute kustomYaTidak
Transcoding REST API <--> gRPCYaTidak
TengineYaTidak
MQTTYaTidak
Waktu efektif konfigurasiEvent driven, < 1mspolling, 5 detik
DashboardYaTidak
IdPYaTidak
HA Pusat KonfigurasiYaTidak
Batas kecepatan untuk jendela waktu tertentuYaTidak
Mendukung variabel Nginx apa pun sebagai kondisi routingYaTidak

Performa

Setelah mengaktifkan plugin limit-count dan prometheus, performa Apache APISIX sepuluh kali lipat dari Kong.

Berikut adalah langkah-langkah yang lebih detail: https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01, Pengembang yang tertarik dapat mengikuti gambar untuk memverifikasi.

Mengapa Apache APISIX Lebih Unggul?

Di sini, kita membahas alasan di balik perbedaan fungsi dan performa:

  1. Kompleksitas routing Apache APISIX adalah O(k), yang hanya terkait dengan panjang uri dan tidak ada hubungannya dengan jumlah rute; kompleksitas waktu routing kong adalah O(n), yang meningkat secara linear dengan jumlah rute.

  2. Kompleksitas waktu pencocokan IP Apache APISIX adalah O(1), yang tidak akan menyebabkan sumber daya CPU habis dengan banyak penilaian IP.

  3. Pencocokan rute Apache APISIX menerima semua variabel Nginx sebagai kondisi dan mendukung fungsi kustom; gateway lain memiliki beberapa kondisi bawaan.

  4. Apache APISIX menggunakan etcd sebagai pusat konfigurasi. Tidak ada titik tunggal. Jika satu mesin mati secara acak, kluster gateway masih dapat beroperasi secara normal. Gateway lain yang berbasis database relasional akan memiliki masalah titik tunggal.

  5. Konfigurasi Apache APISIX dapat mencapai semua node gateway dalam waktu 1 milidetik, menggunakan etcd watch; gateway lain melakukan polling database secara berkala, dan biasanya membutuhkan 5 detik untuk mendapatkan konfigurasi terbaru.

  6. Plugin Apache APISIX telah disetel dengan cermat untuk mempertahankan latensi tingkat milidetik di bawah tekanan tinggi.

  7. Pengaturan plugin unik Apache APISIX dan fitur low-code dapat sangat mengurangi ambang batas pengembangan sekunder.

Baca Lebih Lanjut

Tags: