Apache APISIX Memberdayakan WPS Office untuk Menangani Jutaan QPS dengan Mudah

Yilia Lin

Yilia Lin

September 28, 2021

Case Study

Pratinjau

Tentang Kingsoft dan WPS Office

Kingsoft Office adalah salah satu anak perusahaan dari Kingsoft, sebuah perusahaan perangkat lunak dan layanan internet terkemuka yang berbasis di Tiongkok dan terdaftar di bursa saham Hong Kong. Produk andalan mereka — WPS Office adalah suite kantor serba lengkap yang mencakup Writer, Spreadsheet, Presentation, dan PDF untuk mengelola tugas-tugas kantor. Pada tahun 2022, WPS Office mencapai lebih dari 494 juta pengguna aktif bulanan dan lebih dari 1,2 miliar instalasi.

Awalnya, Kingsoft menggunakan NGINX sebagai gateway API untuk mengatasi tantangan operasional. Versi awal hanya memiliki fungsionalitas dasar seperti upstream dinamis, fungsionalitas daftar hitam, dan firewall aplikasi web (WAF). Namun, seiring dengan berkembangnya kebutuhan, Kingsoft Office mulai mencari solusi gateway API alternatif yang lebih sesuai dengan kebutuhan mereka yang terus berkembang.

Tantangan

  • Sistem sebelumnya memiliki keterbatasan dalam memenuhi kebutuhan operasional dan pemeliharaan dasar, serta tidak memiliki kemampuan untuk melakukan penskalaan secara dinamis.
  • Sistem menangani volume lalu lintas yang besar dan memerlukan gateway API yang kuat untuk kinerja optimal.
  • Sistem tidak memiliki kemampuan untuk memuat perubahan secara dinamis, sehingga memerlukan reload untuk menerapkan modifikasi.

Hasil

  • Menerapkan solusi yang memberikan pembaruan dinamis berkinerja tinggi dan latensi rendah, memungkinkan kustomisasi dan ekstensi yang mulus.
  • Meningkatkan kapasitas sistem secara signifikan untuk menangani jutaan kueri per detik (QPS) dengan mudah, memastikan stabilitas bisnis yang tak tergoyahkan.
  • Berhasil menetapkan langkah-langkah ketersediaan tinggi dan meningkatkan keamanan sistem untuk melindungi operasi kritis.

Latar Belakang

Pada tahap awal, Kingsoft Office menggunakan gateway API untuk mengatasi masalah operasional, dan mereka mengembangkan solusi mereka sendiri berdasarkan OpenResty dan Lua. Solusi ini memungkinkan fitur manajemen upstream dinamis, fungsionalitas daftar hitam, dan firewall aplikasi web (WAF). Namun, ada beberapa kekurangan dalam fase 1.0.

Misalnya,

  • Hanya upstream yang bersifat dinamis
  • Reload diperlukan untuk memperbarui dan mencerminkan nama domain baru, yang membebani tim untuk mengubah domain dan rute baru setiap hari
  • Arsitektur dasar dirancang untuk manajemen dan operasi yang efisien, yang sederhana dengan fitur dan skalabilitas terbatas

Secara bersamaan, seiring dengan pertumbuhan bisnis mereka, Kingsoft menghadapi semakin banyak persyaratan untuk fungsionalitas gateway API. Akibatnya, mereka mulai mencari solusi gateway API baru.

Mengapa Kingsoft Office Memilih APISIX?

Pada akhir tahun 2019, ketika Kingsoft Office mulai meneliti produk gateway API, ada banyak pilihan populer. Namun, pengujian selanjutnya mengungkapkan bahwa kinerja gateway API yang mereka evaluasi tidak memenuhi persyaratan mereka.

Mencari solusi yang lebih kuat, Kingsoft Office melakukan penelitian lebih lanjut, dan saat itulah mereka menemukan Apache APISIX.

Beberapa gateway API lain mengandalkan PostgreSQL sebagai pusat konfigurasi, yang berarti bahwa pembaruan rute hanya dapat dilakukan melalui metode non-event-driven, sehingga memerlukan reload rute pada setiap node.

Kingsoft Office memilih APISIX berdasarkan tiga pertimbangan utama: kinerja, arsitektur teknis, dan komunitas.

Arsitektur Teknis APISIX

1. Kinerja Sangat Tinggi

Apache APISIX memberikan kinerja terbaik di antara gateway API lainnya dengan QPS inti tunggal sebesar 18.000 dan latensi rata-rata 0,2 ms. Pengujian dan benchmarking yang ketat di Kingsoft Office secara konsisten mengonfirmasi kinerja superior APISIX, memastikan bahwa Kingsoft Office dapat menangani beban tinggi dan memberikan pengalaman pengguna yang optimal.

2. Arsitektur yang Dapat Disesuaikan, Tangguh, dan Tersedia Tinggi

APISIX, menggunakan etcd sebagai pusat konfigurasinya, memungkinkan manajemen rute, plugin, dan komponen kritis lainnya yang efisien dan dinamis. Penyimpanan nilai-kunci terdistribusi ini meningkatkan fleksibilitas APISIX, memungkinkan pembaruan yang mulus dan mengurangi beban operasional yang terkait dengan perubahan konfigurasi manual. Dengan Apache APISIX, Kingsoft Office dapat memanfaatkan pendekatan event-driven, menghilangkan kebutuhan untuk reload rute manual pada node individu.

3. Komunitas yang Aktif dan Mendukung

Kingsoft Office menyadari nilai komunitas yang hidup dan mendukung dalam mendorong inovasi dan menyediakan sumber daya. APISIX memiliki komunitas yang aktif dan terlibat yang berkontribusi pada pengembangannya, berbagi praktik terbaik, dan menawarkan bantuan. Lingkungan yang digerakkan oleh komunitas ini mendorong inovasi dan kolaborasi, selaras dengan komitmen Kingsoft Office untuk tetap berada di garis depan kemajuan teknologi.

Arsitektur etcd yang Dioptimalkan di Kingsoft Office

Karena banyaknya konfigurasi statis NGINX dalam arsitektur asli di Kingsoft Office, tim memilih untuk tidak menggunakan CLI APISIX untuk menghasilkan konfigurasi secara otomatis. Sebaliknya, mereka menggunakan Apache APISIX sebagai cadangan dan secara bertahap memigrasikan konfigurasi ke APISIX, memastikan transisi yang mulus.

Selama implementasi, tim Kingsoft Office melakukan beberapa kustomisasi berdasarkan APISIX, seperti mengoptimalkan arsitektur etcd. Secara umum, beberapa mesin terlibat dalam arsitektur gateway API di dalam perusahaan, terkadang mencapai ratusan. Selain itu, jumlah pekerja membebani beban mesin.

Akibatnya, ketika beberapa mesin memantau kunci yang sama, hal ini memberikan tekanan yang signifikan pada etcd. Dalam keadaan seperti itu, untuk konsistensi data, etcd memerlukan semua peristiwa dikembalikan ke permintaan yang sedang mendengarkan sebelum memproses permintaan baru. Ketika beberapa mesin mendengarkan secara bersamaan, ada masalah seperti etcd yang mengalami timeout dan menampilkan kesalahan kelebihan beban.

Untuk mengatasi masalah ini, Kingsoft Office mengembangkan proxy etcd, seperti yang diilustrasikan di bagian kanan diagram arsitektur di bawah ini. Bekerja di antara Apache APISIX dan etcd, proxy etcd memantau kunci dan mengembalikan hasilnya ke Apache APISIX setelah menerima hasilnya. Sejak rilis APISIX versi 3.2, jumlah koneksi tidak lagi dipengaruhi oleh sumber daya, secara signifikan mengurangi tekanan pada etcd.

Arsitektur etcd yang Dioptimalkan di Kingsoft Office

Selain itu, seiring dengan peningkatan skala perusahaan, jumlah rute juga meningkat. Ketika rute sering diperbarui, gateway mengalami peningkatan penggunaan CPU dan kehilangan paket. Tim Kingsoft Office memperbaiki masalah ketidakefisienan penggunaan table.sort dalam lingkungan kode Lua. Apache APISIX juga mengatasi masalah ini dalam versi yang diperbarui.

Manfaat setelah Mengadopsi APISIX

1. Mendukung Jutaan QPS dengan Mudah

Pada tingkat bisnis, Kingsoft Office mengoperasikan ekosistem yang kompleks yang terdiri dari ribuan layanan yang dikontainerisasi dengan cermat dan di-deploy di platform cloud-native internal. Dalam lingkungan yang dinamis ini, Apache APISIX memainkan peran penting sebagai gateway pusat, memfasilitasi komunikasi dan interaksi yang mulus antara berbagai layanan dan pengguna. Secara khusus, APISIX dirancang untuk memenuhi tuntutan Departemen Platform Menengah, mengelola aliran permintaan yang besar dengan efisien, menangani jutaan kueri per detik dengan presisi dan keandalan yang luar biasa.

2. Mencapai Manajemen API yang Dapat Disesuaikan dan Fleksibel

Dengan mengadopsi APISIX, Kingsoft Office melampaui batasan solusi manajemen API sebelumnya, mencapai skalabilitas dan fleksibilitas yang menjadi dasar untuk pertumbuhan dan inovasi di masa depan.

Dengan bermigrasi ke APISIX, Kingsoft Office mendapatkan kemampuan untuk dengan mudah menskalakan infrastruktur API mereka untuk memenuhi tuntutan basis pengguna yang berkembang pesat dan lanskap bisnis yang terus berubah. Arsitektur modular APISIX memungkinkan integrasi yang mulus dengan sistem dan layanan yang ada, memungkinkan perusahaan untuk memperluas kemampuan manajemen API mereka tanpa mengganggu operasi yang sedang berlangsung.

Selain itu, APISIX memberdayakan Kingsoft Office dengan fleksibilitas yang tak tertandingi dalam mengelola API, menawarkan kontrol granular atas routing, lalu lintas, dan kebijakan autentikasi. Fleksibilitas baru ini memungkinkan perusahaan untuk menyesuaikan strategi manajemen API mereka untuk kasus penggunaan tertentu, mengoptimalkan kinerja, dan meningkatkan pengalaman pengguna.

3. Meningkatkan Ketersediaan Tinggi dan Keamanan Sistem

Selanjutnya, Kingsoft Office telah menerapkan beberapa fitur untuk meningkatkan ketersediaan tinggi dan keamanan sistem, termasuk distribusi lalu lintas proporsional di beberapa pusat data dan kemampuan memblokir rute dengan satu klik.

Dengan mengonfigurasi proporsi, distribusi lalu lintas atau permintaan di berbagai pusat data dioptimalkan berdasarkan rasio yang telah ditentukan. Ini memastikan pemanfaatan sumber daya sistem yang efisien dan mengurangi dampak kegagalan di satu pusat data, menghasilkan load balancing, peningkatan ketersediaan sistem, dan peningkatan toleransi kesalahan.

Dalam hal terjadi masalah dengan rute tertentu atau kebutuhan untuk memblokir sementara, administrator dapat dengan cepat menggunakan fitur memblokir rute dengan satu klik untuk segera menghentikan transmisi lalu lintas atau akses untuk rute tersebut. Ini melindungi sistem dari aktivitas jahat sambil memberikan pendekatan yang mulus dan nyaman untuk mengelola lalu lintas dan rute jaringan.

Kesimpulan

Selama aplikasi praktis, tim Kingsoft Office menemukan fleksibilitas dan kekuatan luar biasa dari Apache APISIX. Stabilitas dan keandalan APISIX telah mendapatkan kepercayaan Kingsoft Office, sementara kemampuannya untuk mengakomodasi modifikasi plugin dan kompilasi kustom menawarkan ruang yang cukup untuk kustomisasi yang disesuaikan.

Tim dengan tekun melacak perubahan produk APISIX, memastikan versi mereka tetap selaras dengan pembaruan terbaru. Dengan APISIX, Kingsoft Office dengan mudah menangani jutaan kueri per detik, menunjukkan kekokohan solusi dan kemampuannya untuk memenuhi tuntutan basis pengguna yang berkembang pesat. Dengan mengadopsi Apache APISIX, Kingsoft Office secara efektif mengatasi kebutuhan yang terus berkembang, meningkatkan efisiensi operasional, dan memposisikan diri untuk pertumbuhan di masa depan dalam lanskap produk jaringan yang dinamis.

Tags: