Kit Pengembangan Perangkat Lunak (SDK) MSE Nacos merupakan komponen kunci dalam arsitektur mikroservis yang menyediakan registrasi dan penemuan layanan secara efisien dan fleksibel. Topik ini menjelaskan cara memilih versi SDK yang sesuai berdasarkan tumpukan teknologi dan kerangka kerja Anda serta cara menghindari versi terbatas.
Penerapan MSE Nacos SDK
MSE Nacos mendukung integrasi dengan berbagai bahasa pemrograman dan kerangka kerja untuk mengakomodasi sistem mikroservis dan skenario bisnis yang berbeda. Pilih praktik terbaik yang sesuai dengan tumpukan teknologi dan kerangka kerja Anda.
Jika bisnis Anda menggunakan tumpukan teknologi Java dalam sistem mikroservis:
SDK Native: Hubungkan ke mesin menggunakan Nacos Java SDK. Untuk informasi selengkapnya, lihat Java SDK.
Spring Boot: Nacos menyediakan solusi akses lengkap bagi pengguna arsitektur Spring Boot. Untuk informasi selengkapnya, lihat Gunakan Nacos sebagai pusat registrasi layanan dan konfigurasi dengan Spring Boot.
Spring Cloud: Integrasikan Nacos dengan Spring Cloud untuk menyederhanakan manajemen konfigurasi Nacos. Untuk informasi selengkapnya, lihat Memulai dengan Nacos dan Spring Cloud.
Dubbo: Kerangka kerja Dubbo menggunakan teknologi remote procedure call (RPC) berkinerja tinggi untuk mendaftarkan layanan ke Nacos dan memungkinkan layanan saling memanggil. Untuk informasi selengkapnya, lihat Membangun pusat registrasi layanan di MSE untuk aplikasi Dubbo.
Jika bisnis Anda menggunakan tumpukan teknologi Golang:
SDK Native: Untuk menyiapkan pusat registrasi layanan dan konfigurasi dengan cepat, lihat proyek contoh Nacos-SDK-Go.
Dubbo-Go: Apache Dubbo-Go memungkinkan pengguna Go membangun layanan RPC berbasis Nacos. Untuk informasi selengkapnya, lihat Apache Dubbo-Go.
Kitex: Kitex adalah kerangka kerja RPC untuk mikroservis Go. Secara default, Kitex terintegrasi dengan pusat registrasi layanan Nacos.
Jika bisnis Anda menggunakan tumpukan teknologi Node.js:
SDK Native: Nacos menyediakan metode koneksi untuk Node.js. Untuk menerapkan registrasi dan penemuan layanan, lihat contoh Nacos-SDK-Nodejs.
Jika bisnis Anda menggunakan tumpukan teknologi Python:
Integrasikan Nacos untuk membangun sistem mikroservis. Untuk informasi selengkapnya, lihat Nacos-SDK-Python.
Selain itu, MSE Nacos sepenuhnya terintegrasi dengan ekosistem Service Mesh Istio untuk membantu pengembang menggunakan Nacos dalam skenario cloud-native. Nacos mendukung standar Mesh Configuration Protocol (MCP). Untuk mengintegrasikan Nacos dengan Service Mesh, lihat Membuat sumber layanan.
Versi terbatas SDK Nacos
Untuk memastikan stabilitas sistem mikroservis Anda, hindari penggunaan versi SDK Nacos terbatas yang tercantum dalam topik ini. Topik ini menjelaskan versi terbatas, alasan pembatasan, dan solusi yang direkomendasikan.
Java
Versi terbatas | Alasan untuk Menghindari | Solusi |
0.X hingga 1.1.X | Tidak mendukung heartbeat layanan ringan. Hal ini menghasilkan paket heartbeat yang terlalu besar, sehingga menurunkan kinerja. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 1.2.0 atau lebih baru. |
1.4.1 hingga 1.4.2 |
| Tingkatkan ke versi 1.4.3 atau lebih baru. |
2.0.0 hingga 2.0.1 | Versi ini tidak dapat membawa informasi identitas RAM. Setelah Anda mengaktifkan autentikasi klien pada mesin, Anda tidak dapat memperoleh konfigurasi, mendaftarkan layanan, atau menemukan layanan, meskipun telah mengonfigurasi informasi yang diperlukan. | Tingkatkan ke versi 2.0.2 atau lebih baru. |
2.2.0 hingga 2.2.1 | Saat Anda menerapkan aplikasi menggunakan EDAS atau SAE, jika Anda mengonfigurasi parameter | Tingkatkan ke versi 2.2.2 atau lebih baru. |
2.3.1 | Saat Anda berlangganan konfigurasi, server sering mendorong konfigurasi meskipun belum berubah. Hal ini menyebabkan beban CPU dan jaringan yang tidak perlu serta dapat memengaruhi stabilitas. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.3.2 atau lebih baru. |
Go
Versi terbatas | Alasan penolakan | Solusi |
1.0.1 hingga 1.1.3 | Versi klien selalu ditampilkan sebagai 1.0.1, sehingga mencegah identifikasi versi yang akurat. Dua bug kritis juga ada, yang dapat menyebabkan masalah seperti notifikasi perubahan yang sering atau gangguan heartbeat. |
|
1.1.4 | Jika konfigurasi yang berlangganan dihapus, bug pada klien menyebabkan permintaan berkelanjutan terhadap layanan yang tidak ada. Hal ini menghasilkan banyak permintaan kueri konfigurasi, yang dapat memicu pembatasan laju pada API kueri konfigurasi dan memengaruhi aplikasi lain yang sedang melakukan kueri konfigurasi. Untuk informasi selengkapnya, lihat Detail. | |
2.0.0 hingga 2.1.0 | Versi klien selalu ditampilkan sebagai 2.0.0, sehingga mencegah identifikasi versi yang akurat. Setelah koneksi ulang, instans versi ini tidak secara otomatis mendaftar ulang atau berlangganan ulang layanan. Hal ini menyebabkan layanan menjadi offline dan mencegah pemulihan otomatis. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.3.2 atau lebih baru. |
2.2.7 hingga 2.3.1 | Versi klien selalu ditampilkan sebagai 2.2.7, sehingga mencegah identifikasi versi yang akurat. Dua bug kritis juga mungkin ada, yang dapat menyebabkan kegagalan menerima notifikasi perubahan layanan atau kehilangan layanan setelah koneksi terputus. |
Python
Versi terbatas | Alasan | Solusi |
2.0.0 hingga 2.0.6 | Setelah koneksi ulang, versi ini tidak secara otomatis mendaftar ulang atau berlangganan ulang layanan dan konfigurasi. Hal ini menyebabkan gangguan layanan dan mencegah pemulihan otomatis. | Tingkatkan ke versi 2.0.7 atau lebih baru. |
Kerangka kerja terkait
Dubbo
Versi terbatas | Alasan penghentian | Solusi |
2.7.5 dan sebelumnya | Saat Anda berlangganan beberapa layanan, perubahan pada daftar alamat penyedia tidak diambil. Hal ini dapat menyebabkan lalu lintas diarahkan ke penyedia yang offline atau tidak ada. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.7.6 atau lebih baru. |
2.7.8 | Dubbo membuat jumlah instans Nacos Client yang berlebihan. Hal ini menyebabkan lonjakan jumlah koneksi dan thread, yang sangat memengaruhi stabilitas klien dan server. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.7.9 atau lebih baru. |
2.7.11 | Secara default bergantung pada Nacos-Java-Client 1.4.1. |
|
2.7.19 dan sebelumnya | Saat Dubbo berlangganan layanan, Dubbo berlangganan beberapa nama layanan untuk layanan yang sama. Namun, saat menggabungkan daftar alamat, konsumen mungkin gagal menemukan penyedia. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.7.20 atau lebih baru. |
3.0.0 hingga 3.1.5 | Tingkatkan ke versi 3.1.6 atau lebih baru. |
Spring Cloud Alibaba
Versi terbatas | Alasan penolakan | Solusi |
Versi sebelum 2.2.4 | Menimpa konfigurasi log Nacos Client. Hal ini menyebabkan banyak log Nacos ditulis ke log bisnis aplikasi, sehingga mempersulit pemecahan masalah aplikasi. Untuk informasi selengkapnya, lihat Detail. | Tingkatkan ke versi 2.2.6.RELEASE atau lebih baru. |
2.2.4.RELEASE & 2.2.5.RELEASE | Secara default bergantung pada Nacos-Java-Client 1.4.1. |
|