---
title: "Bagaimana vivo Berintegrasi dengan APISIX - API7.ai"
description: "How does the famous mobile manufacturer vivo adopt APISIX as its API gateway and adjust it to fit its businesses?"
url: "https://api7.ai/id/blog/how-does-vivo-integrate-with-apisix"
---

[Blog](https://api7.ai/id/blog)

[Products](https://api7.ai/id/category/products)[Technology](https://api7.ai/id/category/technology)[Ecosystem](https://api7.ai/id/category/ecosystem)[Case Study](https://api7.ai/id/category/usercase)[Team & Community](https://api7.ai/id/category/community)

Search

⌘ + K

[Blog](https://api7.ai/blog)

Case Study

# Bagaimana vivo Berintegrasi dengan APISIX

November 25, 2022

[Case Study](https://api7.ai/category/usercase)

## Ikhtisar

Sejak Mei 2021, [vivo](https://www.vivo.com/en) telah memperkenalkan [Apache APISIX](https://apisix.apache.org/) sebagai API Gateway-nya. Setelah lebih dari satu tahun praktik di vivo, APISIX telah menyelesaikan banyak masalah teknis dan bisnis serta digunakan dalam skala besar.

### Masalah Sebelum Menggunakan APISIX

- **Manajemen Kompleks Skenario Bisnis dan Pemeliharaan Sistem**

  Karena pertumbuhan bisnis yang cepat, terdapat berbagai skenario dan sistem yang melayaninya, yang memerlukan cara terpadu untuk dikelola oleh vivo.

- **Interaksi antara Data Plane dan Control Plane**

  Untuk perusahaan menengah dan besar seperti vivo, masalah kecil yang terjadi di data plane dapat berdampak pada control plane.

- **Tidak Ada Dukungan untuk Sumber Daya Multi-Dimensi**

  Proyek yang beragam menyebabkan berbagai nama domain dan URL. Departemen bisnis perlu mencari berdasarkan dimensi sumber daya yang berbeda.

- **Dampak Masalah yang Tidak Terkendali**

  Karena proyek vivo yang kompleks, dampak masalah yang dihadapi tidak terkendali. Penggunaan beberapa plugin yang rumit memperburuk hal ini.

Dengan mengganti NGINX dengan APISIX, vivo akhirnya berhasil mencapai serangkaian prestasi seperti di bawah ini.

### Prestasi Setelah Menggunakan APISIX

- **Ketersediaan Tinggi**

  vivo melaporkan bahwa tidak ada kegagalan besar pada penerapan yang dioperasikan pelanggan ini selama periode yang dijelaskan. Hasil historis pelanggan ini bukan komitmen ketersediaan tingkat produk API7; sumber tersebut tidak memublikasikan metodologi pengukuran.

- **Kinerja Tinggi**

  Menangani lalu lintas online yang signifikan dan melayani sejumlah besar layanan, lalu lintas penerusan online saat ini mencapai hampir **satu juta QPS** (Queries-per-second).

- **Fitur yang Kaya**

  Berkat [fitur yang kaya](https://apisix.apache.org/blog/2022/11/02/apache-apisix-v3-preview/) dari APISIX, APISIX dapat mencakup hampir semua skenario proxy NGINX yang umum. Sekitar 50% proyek vivo telah bermigrasi dari NGINX ke kluster APISIX.

- **Mendukung Pembangunan dan Pengembangan Cloud-Native**

  K8s bare metal yang mendukung kontainerisasi telah mencapai skala **10.000**. Sekitar 40% proyek telah bermigrasi dari bare metal dan mesin virtual ke platform kontainer K8s, mendukung dan mempromosikan kemajuan kontainerisasi vivo.

## Desain Sistem vivo Berbasis APISIX

Selanjutnya, mari kita lihat desain sistem vivo setelah mengadopsi APISIX.

### Tampilan Arsitektur yang Disesuaikan pada APISIX

![Arsitektur gateway API vivo dengan APISIX](https://static.api7.ai/2022/11/23/637dc2f51318e.jpg?imageMogr2/format/webp)

Dari diagram di atas, kita dapat menganalisis bahwa vivo telah:

- Menyelesaikan pembangunan gateway lalu lintas **Layer 4** dan **Layer 7**, yang didukung oleh APISIX
- Mewujudkan akses lalu lintas dan penyebaran campuran bare metal, mesin virtual, dan kontainer
- Menerapkan manajemen kluster APISIX
- Menghubungkan platform DevOps internal dan layanan penyebaran bisnis untuk mengakses lalu lintas dengan cepat dan otomatis
- Meningkatkan pembangunan pemantauan

### Peningkatan Manajemen Konfigurasi dan Peluncuran

Untuk lebih memenuhi kebutuhan aktual departemen bisnis, vivo telah melakukan serangkaian adaptasi pada APISIX. Berikut adalah beberapa penyesuaian tersebut, termasuk perubahan control plane, manajemen pemisahan kluster, dan penerusan data.

#### Perubahan Control Plane

Proses keseluruhannya dapat seperti ini:

Setelah data dikonfigurasi di platform perubahan A6, informasi akan dikirim melalui RPC notify ke ManagerAPI, yang dibangun oleh vivo berdasarkan [APISIX Dashboard](https://github.com/apache/apisix-dashboard) yang bersumber terbuka.

Kemudian lalu lintas akan dikirim ke `apisix-agent`. APISIX secara berkala memeriksa apisix-agent melalui proses istimewa untuk mendapatkan tugas perubahan secara massal. Selanjutnya, proses istimewa memberi tahu `worker` melalui antrian bersama untuk mewujudkan perubahan dalam memori.

Sementara itu, APISIX memberi tahu `apisix-agent` tentang hasil tugas dan kemudian mengirimkannya ke ManagerAPI. Selain itu, platform perubahan A6 dapat memeriksa ManagerAPI untuk mendapatkan hasil tugas.

![Mode manajemen dan penerbitan vivo](https://static.api7.ai/2022/11/25/638036da44e7f.jpeg?imageMogr2/format/webp)

[etcd](https://etcd.io/docs/v3.5/learning/why/#comparison-chart) adalah sorotan dari APISIX, memungkinkan operasi independen dari control dan data plane. Mempertimbangkan keunikan arsitekturnya, vivo membuang etcd dalam proses di atas. Berikut adalah beberapa alasannya.

Karena keragaman proyek vivo, terdapat berbagai nama domain dan URL. Selain itu, departemen bisnis perlu melakukan pencarian berdasarkan dimensi yang berbeda. Berkat kemampuan adaptasi APISIX yang tidak hanya dengan etcd tetapi juga berbagai jenis database, vivo dapat dengan mudah memanfaatkan database seperti MongoDB, untuk bekerja sama dengan APISIX.

Selain itu, vivo melakukan kontribusi berikut untuk kompatibel dengan Apache APISIX.

- **Mengembangkan Komponen Agent**

  Sejak Mei 2021, vivo memperkenalkan Apache APISIX. Mempertimbangkan latar belakang dan konteks teknis, vivo tidak yakin dapat mengadopsi APISIX karena vivo tidak memiliki pengalaman dengan OpenResty dan Lua. Selain itu, ada banyak tugas non-penerusan, seperti pengumpulan log dan penanganan pemantauan, yang dapat meningkatkan kompleksitas manajemen data plane. Akibatnya, vivo mengembangkan komponen agent untuk mengurangi kompleksitas pengembangan.

- **Menulis Data ke Disk**

  Untuk membuat sistem dapat disesuaikan dan memungkinkan data plane berjalan secara independen, sehingga mengurangi ketergantungan pada control plane, vivo menulis file konfigurasi ke disk. Ketika APISIX dimulai, ia mendukung pengambilan lengkap dari pusat konfigurasi dan juga mendukung pengambilan langsung sumber daya konfigurasi dari direktori file disk lokal. Cara ini secara dramatis meningkatkan independensi data dan ketangguhan sistem. Selain itu, sangat intuitif untuk memahami informasi rute dan upstream yang dikonfigurasi pada disk yang ditempatkan di disk, yang membantu dalam pemecahan masalah.

- **Callback Hasil Tugas Perubahan**

  Sebagai perusahaan besar, vivo perlu memastikan bahwa perubahan pada sumber daya seperti router dan upstream dapat dijamin efektif dan berhasil, dan sistem dapat melaporkan kesalahan bahkan jika perubahan ini gagal. Logika ACK (Acknowledgement Code) seperti ini memastikan bahwa pekerja NGINX pada satu mesin dapat melakukan callback. Ketika tugas callback berhasil, semua pekerja pada APISIX akan memperbarui perubahan sumber daya ke memori yang relevan.

#### Manajemen Pemisahan Kluster

![Manajemen Pemisahan Kluster](https://static.api7.ai/2022/11/25/6380381595b00.jpeg?imageMogr2/format/webp)

Versi open-source APISIX menyediakan [etcd](https://apisix.apache.org/docs/apisix/FAQ/#why-does-apache-apisix-use-etcd-for-the-configuration-center) untuk digunakan bersama oleh semua orang. Namun, proyek perusahaan sangat kompleks, dan masalah yang dihadapi tidak terkendali. Selain itu, penggunaan plugin yang rumit tidak dapat dihindari, memengaruhi kinerja sistem.

Oleh karena itu, manajemen dilakukan dengan pemisahan kluster untuk mewujudkan isolasi konfigurasi kluster pada APISIX, yang dapat:

- Mengontrol domain kesalahan dan secara efektif mendukung kompleksitas proyek tanpa memengaruhi proyek lain
- Secara efektif mengurangi beban yang disebabkan oleh lapisan non-penerusan APISIX ketika node kontainer sering berubah
- Mengurangi dampak beban yang disebabkan oleh pemeriksaan kesehatan

#### Meningkatkan QPS yang Dibawa oleh HTTPS

Menurut persyaratan terkait dari Kementerian Perindustrian dan Informatika di Tiongkok, lalu lintas jaringan eksternal harus melalui protokol HTTPS. Sebagai protokol enkripsi HTTP berbasis TLS, HTTPS membebani CPU dalam proses enkripsi dan dekripsi.

Ketika konfigurasi routing dan lainnya sama, lalu lintas yang dapat dibawa oleh HTTPS adalah sekitar **1/8 - 1/10** dari HTTP.

Setelah memasang kartu akselerator Intel® QAT (QuickAssist Technology), vivo menyerahkan penanganan dekripsi ke kartu akselerator QAT, yang membebaskan CPU, sehingga meningkatkan QPS yang dibawa oleh HTTPS pada satu mesin. Seperti yang dapat dilihat dari gambar di bawah ini, **kapasitas beban HTTPS satu mesin meningkat sekitar dua kali lipat**.

![data menunjukkan peningkatan vivo dalam membawa lalu lintas](https://static.api7.ai/2022/11/23/637dc306a5fa1.jpg?imageMogr2/format/webp)

## Bagaimana vivo Menggabungkan Bisnis dengan APISIX

### Mendukung Pengembangan Kontainerisasi

Untuk mendukung pengembangan kontainerisasi, vivo mengembangkan sendiri kontroler ingress K8s. Berikut adalah beberapa fungsinya.

1. Menyesuaikan mekanisme perubahan konfigurasi push asinkron yang dimodifikasi oleh vivo
2. Melakukan pemberitahuan pemrosesan acara multi-kluster K8s ke APISIX
3. Menangani skenario proyek kompleks seperti:

- Satu server dengan banyak port
- Ketika server kerangka kerja RPC lain, seperti Dubbo dan gRPC, terhubung ke K8s, diperlukan satu set logika pemrosesan terpadu untuk memberi tahu APISIX atau kerangka kerja lain tentang informasi port sesuai dengan karakteristik konfigurasi proyek

4. Menyesuaikan kebutuhan khusus dari DevOps internal perusahaan dan skenario otomatisasi lainnya, memfasilitasi penyebaran cepat, dan mengaktifkan lalu lintas

### Membantu Proyek Bermigrasi dari NGINX ke APISIX

Proyek vivo telah disebarkan pada kluster NGINX yang ada dan telah berjalan stabil untuk waktu yang lama. Namun, hal ini membawa beban kerja non-bisnis dan ketidakstabilan pada proyek. Akibatnya, sangat menantang untuk melakukan migrasi. Jadi bagaimana cara mempromosikan migrasi proyek ke APISIX?

- Pertama, temukan proyek dari departemen yang bekerja sama, layani departemen bisnis dengan baik untuk menetapkan tolok ukur, dan berikan bimbingan dan pelatihan teknis
- Bangun sistem control plane yang mudah digunakan untuk memfasilitasi akses bisnis dan manajemen multi-dimensi departemen bisnis
- Berikan kemampuan konversi otomatis dan konfigurasi dasar yang mengubah konfigurasi NGINX ke konfigurasi APISIX

### Meningkatkan APISIX dan Mendukung Versi Open-Source

Berdasarkan versi APISIX 2.4, vivo melakukan beberapa penyesuaian dan merilis versi baru, yang ditingkatkan ke versi yang lebih baru pada kuartal kedua tahun ini.

Di satu sisi, berkat arsitektur modular APISIX, relatif mudah untuk mengintegrasikan kode Lua yang dimodifikasi oleh vivo ke cabang versi APISIX yang lebih tinggi. Di sisi lain, vivo juga terus meningkatkan bagian OpenResty, dengan sekitar satu versi per tahun. Karena vivo menggunakan banyak PATCH dan beberapa fungsi berguna seperti QAT, meningkatkan komponen ini sulit dan memakan waktu.

Versi gratis dari fitur komunitas NGINX lambat diperbarui dan tidak aktif. Vivo sedang mempertimbangkan apakah akan membangun bersama dengan APISIX. Untuk mengurangi tenaga kerja yang diperlukan untuk melakukan pengujian sistem terkait, vivo mengadopsi Robot Framework, kerangka kerja otomatisasi pengujian generik untuk pengujian integrasi sistem. Mereka mempromosikan komponen terkait untuk cakupan pengujian unit dan model pengembangan TDD (Test-driven development).

## Rencana Masa Depan vivo

Tahun depan, vivo berencana untuk memperluas [APISIX](https://apisix.apache.org/blog/2022/09/13/why-is-apache-apisix-the-best-api-gateway/) sebagai gateway lalu lintas menjadi gateway API, memanfaatkan keunggulannya dalam [pembatasan laju](https://apisix.apache.org/docs/apisix/plugins/limit-count/#attributes), [autentikasi](https://apisix.apache.org/docs/ingress-controller/tutorials/mtls/), pemutusan sirkuit, dll. Mempertimbangkan penggabungan APISIX dengan DPDK-NGINX, vivo juga akan membina tenaga teknis dan bergabung dengan pembangunan komunitas. Selain itu, vivo akan mengkonsolidasikan keterampilan dasar untuk meletakkan fondasi yang baik, membangun lalu lintas dan tata kelola layanan.

Selamat mempelajari lebih lanjut tentang Apache APISIX.

Anda dapat menghubungi kami di <https://api7.ai/contact>.

Tags:

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Best API Gateway](https://api7.ai/tags/best-api-gateway)

[Consumer](https://api7.ai/tags/consumer)

Share article link

Share

Related Posts

[![Arsitektur API Gateway dari Amber Group](https://static.api7.ai/uploads/2023/01/06/ry9Vpp4D_Amber.png)](https://api7.ai/blog/amber-api-gateway-architecture)

## [Arsitektur API Gateway dari Amber Group](https://api7.ai/blog/amber-api-gateway-architecture)

[![APISIX Meningkatkan Signifikan Efisiensi R\&D Junrunrenli](https://static.api7.ai/2022/12/07/639066a4ae425.png)](https://api7.ai/blog/apisix-improved-junrunrenli-developing-efficiency)

## [APISIX Meningkatkan Signifikan Efisiensi R\&D Junrunrenli](https://api7.ai/blog/apisix-improved-junrunrenli-developing-efficiency)

Table of Contents

- [Ikhtisar](#ikhtisar)

  - [Masalah Sebelum Menggunakan APISIX](#masalah-sebelum-menggunakan-apisix)
  - [Prestasi Setelah Menggunakan APISIX](#prestasi-setelah-menggunakan-apisix)

- [Desain Sistem vivo Berbasis APISIX](#desain-sistem-vivo-berbasis-apisix)

  - [Tampilan Arsitektur yang Disesuaikan pada APISIX](#tampilan-arsitektur-yang-disesuaikan-pada-apisix)
  - [Peningkatan Manajemen Konfigurasi dan Peluncuran](#peningkatan-manajemen-konfigurasi-dan-peluncuran)

- [Bagaimana vivo Menggabungkan Bisnis dengan APISIX](#bagaimana-vivo-menggabungkan-bisnis-dengan-apisix)

  - [Mendukung Pengembangan Kontainerisasi](#mendukung-pengembangan-kontainerisasi)
  - [Membantu Proyek Bermigrasi dari NGINX ke APISIX](#membantu-proyek-bermigrasi-dari-nginx-ke-apisix)
  - [Meningkatkan APISIX dan Mendukung Versi Open-Source](#meningkatkan-apisix-dan-mendukung-versi-open-source)

- [Rencana Masa Depan vivo](#rencana-masa-depan-vivo)

## Related Posts

[![APISIX Mendorong Lenovo untuk Membangun Gateway Ringan dan Terdesentralisasi](https://static.api7.ai/uploads/2023/06/02/pRRqKigM_img_v2_d8efd0f7-2a28-46c2-8ed3-6e59f17cafag.png)](https://api7.ai/id/blog/lenovo-uses-apisix)

Case Study

June 6, 2023

#### [APISIX Mendorong Lenovo untuk Membangun Gateway Ringan dan Terdesentralisasi](https://api7.ai/id/blog/lenovo-uses-apisix)

Lenovo membangun gateway terdesentralisasi dan portal pengembang terpusat berbasis APISIX, mengatasi hambatan yang ada pada sistem sebelumnya.

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Best API Gateway](https://api7.ai/tags/best-api-gateway)

[Personal Technology Company](https://api7.ai/tags/personal-technology-company)

[![ZYLK Mencapai Layanan IoT yang Lebih Efisien dengan Optimasi APISIX](https://static.api7.ai/uploads/2023/05/26/y5ur4bey_cover2.png)](https://api7.ai/id/blog/apache-apisix-zylk)

Case Study

May 26, 2023

#### [ZYLK Mencapai Layanan IoT yang Lebih Efisien dengan Optimasi APISIX](https://api7.ai/id/blog/apache-apisix-zylk)

Dengan APISIX, ZYLK berhasil menyederhanakan routing MQTT mereka dan menyediakan manajemen endpoint yang efisien, mengatasi berbagai tantangan seperti menampung pengguna baru di jaringan, menghadapi masalah routing MQTT, masalah terkait jaringan K8S, serta masalah komunikasi HTTP.

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Best API Gateway](https://api7.ai/tags/best-api-gateway)

[MQTT](https://api7.ai/tags/mqtt)

[![Snowball Finance Mentransformasi Arsitektur Active-Active dengan APISIX](https://static.api7.ai/uploads/2023/05/03/IBgKKCzu_snowball-finance-case.png)](https://api7.ai/id/blog/snowball-finance-with-apisix)

Case Study

April 28, 2023

#### [Snowball Finance Mentransformasi Arsitektur Active-Active dengan APISIX](https://api7.ai/id/blog/snowball-finance-with-apisix)

Dengan menerapkan Apache APISIX, Snowball Finance telah meningkatkan arsitektur aktif-aktif internalnya, memberikan layanan yang lebih baik bagi pengguna.

[APISIX Basics](https://api7.ai/tags/apisix-basics)

[Best API Gateway](https://api7.ai/tags/best-api-gateway)

[Finance](https://api7.ai/tags/finance)
