Saat Anda meng-hosting instans Nacos di Microservice Engine (MSE), MSE mengelola layanan yang terdaftar pada instans tersebut. Topik ini menjelaskan cara mengelola layanan.
Prasyarat
-
Tersedia engine Nacos versi 2.0.3.0 atau lebih baru. Untuk informasi selengkapnya, lihat Tingkatkan versi engine Nacos.
-
Tersedia namespace.
Buat layanan
Anda dapat membuat layanan kosong (layanan tanpa penyedia) di Konsol untuk keperluan definisi layanan atau pengujian. Agar layanan kosong muncul dalam daftar, Anda harus menonaktifkan Hide Empty Services.
-
Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.
-
Di panel navigasi kiri, pilih Microservices Registry > Instances.
-
Pada halaman Instances, klik nama instans.
-
Di panel navigasi kiri, pilih Service Management > Services. Di pojok kiri atas halaman, pilih Namespace, lalu klik Create service.
-
Pada panel Create service, konfigurasikan parameter, lalu klik OK.
Nacos 2.1.2.1 atau lebih baru
Parameter
Deskripsi
Service Name
Nama layanan.
Group Name
Nama grup tempat layanan tersebut berada.
Instance Source
Pilih sumber instans. Nilai yang valid: Console dan SDK.
Protection Threshold
Jika Anda mengatur Instance Source ke Console atau SDK, Anda harus menetapkan ambang batas perlindungan. Atur nilai ini sebagai rasio jumlah minimum node yang diperlukan untuk menangani traffic puncak. Misalnya, jika Anda memiliki 10 node instans dan memerlukan minimal 6 node untuk menangani traffic puncak, sistem dapat mengalami gangguan jika tersedia kurang dari 6 node. Dalam kasus ini, atur Protection Threshold menjadi 0,6.
Nacos 2.0.3.0 hingga 2.1.2.0
Parameter
Deskripsi
Service Name
Nama layanan.
Group Name
Nama grup tempat layanan tersebut berada.
Persistence
Menentukan apakah layanan dan instansnya bersifat persisten.
Protection Threshold
Jika rasio instans sehat terhadap total jumlah instans untuk layanan ini turun di bawah ambang batas ini, sistem akan memicu perlindungan untuk mencegah gangguan sistem. Nilai yang valid: 0 hingga 1. Nilai default adalah 0.
Untuk informasi selengkapnya, lihat Praktik terbaik untuk ketersediaan tinggi pusat registri dan konfigurasi MSE.
Hapus layanan
Aksi menghapus hanya berlaku untuk instans layanan Persistence (instans non-ephemeral).
-
Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.
-
Di panel navigasi kiri, pilih Microservices Registry > Instances.
-
Pada halaman Instances, klik nama instans.
-
Di panel navigasi kiri, pilih Service Management > Services. Di pojok kiri atas halaman, pilih Namespace. Temukan layanan yang dituju, lalu di kolom Actions, klik More > Delete. Kemudian, klik OK pada kotak dialog konfirmasi.
Lihat detail layanan
-
Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.
-
Di panel navigasi kiri, pilih Microservices Registry > Instances.
-
Pada halaman Instances, klik nama instans.
-
Di panel navigasi kiri, klik Service Management > Services, lalu pilih Namespace di pojok kiri atas halaman.
Dalam namespace ini, Anda dapat melihat informasi semua layanan pada instans Nacos, seperti Service Name, Group Name, Number of providers, dan Number of Clusters.
Anda dapat melakukan operasi berikut:
-
Untuk melihat detail layanan, klik nama layanan yang dituju.
-
Bagian atas halaman detail layanan menampilkan informasi dasar tentang layanan tersebut, seperti nama, grup, status persistensi, dan jumlah kluster.
-
Klik tab Provider untuk melihat semua instans penyedia layanan tersebut. Instans-instans ini dikelompokkan berdasarkan kluster. Secara default, penyedia dari kluster pertama yang ditampilkan.
-
Di bagian All Clusters di sebelah kiri, klik nama kluster untuk beralih ke kluster tersebut.
-
Di kolom Actions untuk instans yang dituju, Anda dapat mengedit bobot instans, mengaktifkan atau menonaktifkannya, menghapus instans, atau melihat metadata-nya.
-
-
Klik tab Subscriber untuk melihat semua instans klien yang berlangganan layanan saat ini. Daftar ini menampilkan alamat IP setiap subscriber (IP klien), Client Version (misalnya,
Nacos-Java-Client:v1.4.1), dan Application Name. -
Klik tab Push track untuk melihat informasi pelacakan dorong terperinci untuk layanan saat ini. Informasi ini mencakup waktu dorong, alamat IP klien, nama layanan, grup layanan, jumlah instans layanan, dan nama node.
-
-
Untuk menghapus layanan: Pada halaman Services, temukan layanan yang dituju, lalu di kolom Actions, klik Delete. Kemudian, klik OK pada kotak dialog konfirmasi.
Penting-
Anda hanya dapat menghapus layanan kosong. Jika layanan tidak kosong, tombol hapus akan dinonaktifkan.
-
Jika layanan tetap kosong selama lebih dari satu menit, Nacos akan menghapusnya secara otomatis.
-
-
Tambahkan instans ke layanan
Anda dapat menambahkan instans baru (penyedia) ke layanan apa pun di Konsol untuk mendefinisikan instans terlebih dahulu atau untuk keperluan pengujian.
-
Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.
-
Di panel navigasi kiri, pilih Microservices Registry > Instances.
-
Pada halaman Instances, klik nama instans.
-
Di panel navigasi kiri, pilih Service Management > Services, lalu pilih Namespace di pojok kiri atas halaman.
-
Klik nama layanan yang dituju untuk melihat detailnya.
-
Klik tab Provider, lalu klik Create an instance. Pada kotak dialog Create an instance, konfigurasikan parameter, lalu klik OK.
Parameter
Deskripsi
IP
Alamat IP instans.
Port Number
Port instans.
Cluster name
Kluster tempat instans tersebut berada. Parameter ini menyediakan pemisahan logis untuk instans di Nacos. Nilai default-nya adalah DEFAULT.
Up and down line status
Pilih status online atau offline awal untuk instans. Nilai default-nya adalah Yes.
Weight
Bobot instans. Nilai yang valid: 0 hingga 10000. Nilai default-nya adalah 1. Traffic didistribusikan berdasarkan bobot. Semakin tinggi bobot, semakin banyak traffic yang diarahkan ke instans tersebut.
Jika bobot yang Anda atur tidak berlaku, lihat Cara memperbaiki masalah perubahan bobot instans yang tidak berlaku di Nacos.
Aktifkan atau nonaktifkan instans
Fitur ini beroperasi pada instans tertentu di Nacos.
-
Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.
-
Di panel navigasi kiri, pilih Microservices Registry > Instances.
-
Pada halaman Instances, klik nama instans.
-
Di panel navigasi kiri, pilih Service Management > Services, lalu pilih Namespace di pojok kiri atas halaman.
-
Klik nama layanan yang dituju untuk melihat detailnya.
-
Klik tab Provider. Temukan instans yang dituju, lalu klik On line atau Offline di kolom Actions. Pada kotak dialog konfirmasi, klik OK.
Jika Anda memanggil API online segera setelah pendaftaran layanan dan instans tidak aktif seperti yang diharapkan, data mungkin belum selesai disinkronkan. Sebagai praktik terbaik, tunggu sekitar 10 detik setelah layanan berhasil terdaftar sebelum memanggil API online.
FAQ
Apakah MSE Nacos mendukung penyesuaian timeout heartbeat layanan dan kriteria offline?
Tidak. Di MSE Registry (Nacos), timeout heartbeat layanan dan perilaku offline dikontrol oleh parameter tetap di sisi server. Pengguna tidak dapat menyesuaikan durasi timeout atau jumlah heartbeat yang terlewat yang diperlukan untuk menonaktifkan instans.
Mengapa MSE hanya memuat satu instans layanan Nacos?
Konfigurasi sumber registrasi layanan tidak mencakup semua instans Nacos yang diperlukan. Untuk mengatasi masalah ini, buka konfigurasi sumber registrasi layanan di Konsol MSE dan tambahkan secara manual ID instans Nacos yang hilang (misalnya, mse-580c5140) untuk memastikan semua instans Nacos yang diperlukan termasuk dalam cakupan penemuan layanan.
Bagaimana cara mengatasi error "publish nacos metadata failed"?
Konten metadata penyedia Dubbo melebihi batas default Nacos. Parameter nacos.naming.metadata.max.total.length memiliki nilai default 4096 byte. Anda dapat menggunakan salah satu atau kedua metode berikut untuk mengatasi masalah ini:
-
Optimalkan konten metadata agar tetap dalam batas 8 KB.
-
Jika pengurangan metadata tidak memungkinkan karena kebutuhan bisnis, masuk ke Alibaba Cloud Quota Center, cari Microservice Engine MSE, temukan item kuota Maximum total length of Nacos service metadata (bytes), lalu ajukan permintaan peningkatan. Nilai maksimum yang didukung adalah 8192 byte. Setelah permintaan disetujui, kuota akan berlaku secara otomatis. Tidak diperlukan restart layanan.
Bagaimana cara memecahkan masalah error 503 Service Temporarily Unavailable untuk layanan yang terdaftar melalui Python, Docker, atau teknologi serupa?
Lakukan pemeriksaan berikut secara berurutan:
-
Di Konsol Nacos, pastikan layanan telah terdaftar dan alamat IP instans benar.
-
Verifikasi bahwa penyedia layanan dan konsumen (gateway) berada dalam namespace Nacos yang sama.
-
Periksa konfigurasi pemeriksaan kesehatan. Jika otentikasi diaktifkan pada aplikasi Anda, titik akhir pemeriksaan kesehatan (misalnya,
/health) mungkin mengembalikan401alih-alih200, sehingga Nacos menandai instans sebagai tidak sehat dan berhenti mengarahkan traffic ke instans tersebut. Sesuaikan logika otentikasi Anda atau tentukan path pemeriksaan kesehatan yang benar. -
Verifikasi bahwa gateway dan instans backend dapat saling dijangkau melalui jaringan.
-
Di Konsol MSE, lihat informasi Push track untuk layanan tersebut guna memastikan alamat IP instans yang benar telah dikirimkan ke konsumen.