Microservice Engine (MSE) üzerinde bir Nacos örneği barındırdığınızda MSE bu örneğe kayıtlı hizmetleri yönetir. Bu konuda hizmetlerin nasıl yönetileceği açıklanmaktadır.
Önkoşullar
Sürümü 2.0.3.0 veya daha yeni olan bir Nacos engine mevcuttur. Daha fazla bilgi için bkz. Nacos engine sürümünü yükseltme.
Bir ad alanı mevcuttur.
Hizmet oluşturma
Hizmet tanımı veya test amacıyla konsolda boş bir hizmet (sağlayıcısı olmayan hizmet) oluşturabilirsiniz. Boş hizmeti listede görüntülemek için Hide Empty Services seçeneğini devre dışı bırakmanız gerekir.
MSE konsolu oturumunu açın ve üst gezinme çubuğundan bir bölge seçin.
Sol gezinme bölmesinde Microservices Registry > Instances seçeneklerini belirleyin.
Instances sayfasında örneğin adını tıklayın.
Sol gezinme bölmesinde Service Management > Services seçeneklerini belirleyin. Sayfanın sol üst köşesinde bir Namespace seçin ve ardından Create service düğmesini tıklayın.
-
Create service panelinde parametreleri yapılandırın ve OK düğmesini tıklayın.
Nacos 2.1.2.1 veya sonraki sürümler
Parameter
Description
Service Name
Hizmetin adı.
Group Name
Hizmetin ait olduğu grubun adı.
Instance Source
Örnek kaynağını seçin. Geçerli değerler: Console ve SDK.
Protection ThresholdInstance Source değerini Console veya SDK olarak ayarlarsanız bir koruma eşiği belirtmeniz gerekir. Bu değeri en yüksek trafiği işlemek için gereken minimum düğüm sayısının oranına ayarlayın. Örneğin 10 örnek düğünüz varsa ve en yüksek trafiği işlemek için en az 6 düğüm gerekiyorsa kullanılabilir düğüm sayısı 6'nın altına düştüğünde sistem arızası oluşabilir. Bu durumda koruma eşiğini 0,6 olarak ayarlayın.
Nacos 2.0.3.0 ile 2.1.2.0 arası
Parameter
Description
Service Name
Hizmetin adı.
Group Name
Hizmetin ait olduğu grubun adı.
Persistence
Hizmetin ve örneklerinin kalıcı olup olmadığını belirtir.
Protection ThresholdBu hizmet için sağlıklı örneklerin toplam örnek sayısına oranı bu eşiğin altına düşerse sistem sistem arızasını önlemek amacıyla korumayı tetikler. Geçerli değerler: 0 ile 1. Varsayılan değer 0'dır.
Daha fazla bilgi için bkz. MSE kayıt defteri ve yapılandırma merkezleri için yüksek kullanılabilirlik en iyi uygulamaları.
Hizmetleri silme
Hizmet örneğini silme işlemi yalnızca Persistence hizmet örnekleri (geçici olmayan örnekler) için etkilidir.
MSE konsolu oturumunu açın ve üst gezinme çubuğundan bir bölge seçin.
Sol gezinme bölmesinde Microservices Registry > Instances seçeneklerini belirleyin.
Instances sayfasında örneğin adını tıklayın.
Sol gezinme bölmesinde Service Management > Services seçeneklerini belirleyin. Sayfanın sol üst köşesinde bir Namespace seçin. Hedef hizmeti bulun ve Actions sütununda More > Delete seçeneklerini tıklayın. Ardından onay iletişim kutusunda OK düğmesini tıklayın.
Hizmet ayrıntılarını görüntüleme
MSE konsolu oturumunu açın ve üst gezinme çubuğundan bir bölge seçin.
Sol gezinme bölmesinde Microservices Registry > Instances seçeneklerini belirleyin.
Instances sayfasında örneğin adını tıklayın.
-
Sol gezinme bölmesinde Service Management > Services seçeneklerini tıklayın ve sayfanın sol üst köşesinde bir Namespace seçin.
Bu ad alanında Nacos örneğindeki tüm hizmetlere ait Service Name, Group Name, Number of providers ve Number of Clusters gibi bilgileri görüntüleyebilirsiniz.
Aşağıdaki işlemleri yapabilirsiniz:
-
Hizmet ayrıntılarını görüntülemek için hedef hizmetin adını tıklayın.
Hizmet ayrıntıları sayfasının üst kısmında hizmetin adı, grubu, kalıcılık durumu ve küme sayısı gibi temel bilgiler görüntülenir.
-
Hizmete ait tüm sağlayıcı örneklerini görüntülemek için Provider sekmesini tıklayın. Bu örnekler kümeye göre gruplanır. Varsayılan olarak ilk kümenin sağlayıcıları görüntülenir.
Soldaki All Clusters bölümünde bir küme adına tıklayarak ilgili kümeye geçiş yapın.
Hedef örneğin Actions sütununda örneğin ağırlığını düzenleyebilir, çevrimiçi veya çevrimdışı duruma getirebilir, örneği silebilir veya meta verilerini görüntüleyebilirsiniz.
Geçerli hizmete abone olan tüm istemci örneklerini görüntülemek için Subscriber sekmesini tıklayın. Liste her abonenin IP adresini (istemci IP'si), Client Version (örneğin
Nacos-Java-Client:v1.4.1) ve Application Name bilgilerini gösterir.Geçerli hizmet için ayrıntılı gönderim izleme bilgilerini görüntülemek üzere Push track sekmesini tıklayın. Bu bilgiler arasında gönderim zamanı, istemci IP adresi, hizmet adı, hizmet grubu, hizmet örneklerinin sayısı ve düğüm adları yer alır.
-
Bir hizmeti silmek için Hizmetler sayfasında hedef hizmeti bulun ve Actions sütununda Delete düğmesini tıklayın. Ardından onay iletişim kutusunda OK düğmesini tıklayın.
ÖnemliYalnızca boş hizmetleri silebilirsiniz. Bir hizmet boş değilse silme düğmesi gri renkte görünür.
Bir hizmet bir dakikadan uzun süre boş kalırsa Nacos bunu otomatik olarak siler.
-
Hizmet listesi ve abonelik ilişkilerinin toplu olarak alınması
MSE konsolu hizmet listesinin veya abonelik ilişkilerinin toplu olarak dışa aktarılmasını desteklemez. Bu verilere erişmek için aşağıdaki yöntemlerden birini kullanın.
Verileri konsolda görüntüleme
MSE konsoluna gidin. Sol gezinme bölmesinde Registration and Configuration Center > Instance List seçeneklerini belirleyin.
Hedef Nacos örneğinin adını tıklayarak örnek ayrıntıları sayfasına gidin.
Sol gezinme bölmesinde Service Management > Service List seçeneklerini belirleyerek kayıtlı hizmetlerin listesini görüntüleyin.
Hizmetin adını tıklayarak hizmet ayrıntıları sayfasına gidin ve ardından hizmete abone olan istemcilerin listesini görüntülemek için Subscriber sekmesini tıklayın.
OpenAPI işlemlerini çağırarak veri alma
Hizmet listesini almak için ListAnsServices işlemini çağırın. Bu işlem sayfalandırma için
PageNumvePageSizeparametrelerini destekler. Böylece işlemi döngü içinde çağırarak tüm hizmetleri toplu halde alabilirsiniz.InstanceIdveyaClusterIdparametrelerinden birini belirtmeniz gerekir.Belirli bir hizmetin abone listesini almak için GetServiceListeners işlemini çağırın.
ServiceName,GroupNameveNamespaceIdparametrelerini belirtmeniz gerekir. Bu işlem sayfalandırmayı destekler.Bir hizmet için örnek ayrıntılarını (her örneğin IP adresi, bağlantı noktası, küme adı, sağlık durumu ve ağırlığı dahil) almak üzere ListAnsInstances işlemini çağırın.
Bu işlemlerin istek ve yanıt parametreleri hakkında daha fazla bilgi için bağlantılı API referans konularına bakın.
Hizmete örnek ekleme
Örnekleri önceden tanımlamak veya test amaçlarıyla konsoldaki herhangi bir hizmete yeni örnekler (sağlayıcılar) ekleyebilirsiniz.
MSE konsolu oturumunu açın ve üst gezinme çubuğundan bir bölge seçin.
Sol gezinme bölmesinde Microservices Registry > Instances seçeneklerini belirleyin.
Instances sayfasında örneğin adını tıklayın.
Sol gezinme bölmesinde Service Management > Services seçeneklerini belirleyin ve sayfanın sol üst köşesinde bir Namespace seçin.
Ayrıntılarını görüntülemek için hedef hizmetin adını tıklayın.
-
Provider sekmesini tıklayın ve ardından Create an instance düğmesini tıklayın. Create an instance iletişim kutusunda parametreleri yapılandırın ve OK düğmesini tıklayın.
Parameter
Description
IP
Örneğin IP adresi.
Port Number
Örneğin bağlantı noktası.
Cluster name
Örneğin ait olduğu küme. Bu parametre Nacos'taki örnekler için mantıksal ayrım sağlar. Varsayılan değer DEFAULT'tir.
Up and down line status
Örnek için başlangıç çevrimiçi veya çevrimdışı durumunu seçin. Varsayılan değer Yes şeklindedir.
WeightÖrneğin ağırlığı. Geçerli değerler: 0 ile 10000. Varsayılan değer 1'dir. Trafik ağırlığa göre dağıtılır. Ağırlık ne kadar yüksekse o kadar çok trafik örneğe yönlendirilir.
Ayarladığınız ağırlık etkili olmuyorsa bkz. Nacos'ta örnek ağırlığı değişikliklerinin etkili olmaması sorununu çözme.
Örneği çevrimiçi veya çevrimdışı duruma getirme
Bu özellik Nacos'taki belirli örneklerde çalışır.
MSE konsolu oturumunu açın ve üst gezinme çubuğundan bir bölge seçin.
Sol gezinme bölmesinde Microservices Registry > Instances seçeneklerini belirleyin.
Instances sayfasında örneğin adını tıklayın.
Sol gezinme bölmesinde Service Management > Services seçeneklerini belirleyin ve sayfanın sol üst köşesinde bir Namespace seçin.
Ayrıntılarını görüntülemek için hedef hizmetin adını tıklayın.
Provider sekmesini tıklayın. Hedef örneği bulun ve ardından Actions sütununda On line veya Offline düğmesini tıklayın. Onay iletişim kutusunda OK düğmesini tıklayın.
Hizmet kaydından hemen sonra çevrimiçi API'yi çağırırsanız ve örnek beklendiği şekilde çevrimiçi olmazsa veriler henüz senkronize edilmemiş olabilir. En iyi uygulama olarak hizmet başarıyla kaydedildikten sonra çevrimiçi API'yi çağırmadan önce yaklaşık 10 saniye bekleyin.
SSS
MSE Nacos hizmet kalp atışı zaman aşımı ve çevrimdışı olma kriterlerinin özelleştirilmesini destekliyor mu?
Hayır. MSE Kayıt Defteri'nde (Nacos) hizmet kalp atışı zaman aşımı ve çevrimdışı olma davranışı sabit sunucu tarafı parametreleri tarafından kontrol edilir. Kullanıcılar zaman aşımı süresini veya bir örneği çevrimdışı duruma getirmek için gereken kaçırılan kalp atışı sayısını özelleştiremez.
MSE neden bir Nacos hizmetinin yalnızca bir örneğini yüklüyor?
Hizmet kayıt kaynağı yapılandırması gerekli tüm Nacos örneklerini içermiyor. Bu sorunu çözmek için MSE konsolundaki hizmet kayıt kaynağı yapılandırmasına gidin ve eksik Nacos örnek kimliklerini (örneğin mse-580c5140) manuel olarak ekleyerek tüm gerekli Nacos örneklerinin hizmet keşfi kapsamına dahil edilmesini sağlayın.
"publish nacos metadata failed" hatasını nasıl çözebilirim?
Dubbo sağlayıcısının meta veri içeriği Nacos varsayılan limitini aşıyor. nacos.naming.metadata.max.total.length parametresi varsayılan olarak 4096 bayttır. Bu sorunu çözmek için aşağıdaki yöntemlerden birini veya her ikisini de kullanabilirsiniz:
Meta veri içeriğini 8 KB içinde kalacak şekilde optimize edin.
İş gereksinimleri nedeniyle meta verileri azaltmak mümkün değilse Alibaba Cloud Quota Center'da oturum açın Microservice Engine MSE ürününü arayın Maximum total length of Nacos service metadata (bytes) kota öğesini bulun ve artırma talebi gönderin. Desteklenen maksimum değer 8192 bayttır. Talep onaylandıktan sonra kota otomatik olarak etkinleşir. Hizmetin yeniden başlatılması gerekmez.
Python Docker veya benzer teknolojiler aracılığıyla kaydedilen hizmetler için 503 Service Temporarily Unavailable hatalarını nasıl giderebilirim?
Aşağıdaki kontrolleri sırayla yapın:
Nacos konsolunda hizmetin kayıtlı olduğunu ve örnek IP adresinin doğru olduğunu doğrulayın.
Hizmet sağlayıcısı ile tüketicinin (ağ geçidi) aynı Nacos ad alanında bulunduğunu doğrulayın.
Sağlık denetimi yapılandırmasını kontrol edin. Uygulamanızda kimlik doğrulama etkinleştirilmişse sağlık denetimi uç noktası (örneğin
/health)200yerine401döndürebilir. Bu durum Nacos'un örneği sağlıksız olarak işaretlemesine ve trafiği buna yönlendirmemesine neden olur. Kimlik doğrulama mantığınızı ayarlayın veya doğru sağlık denetimi yolunu belirtin.Ağ geçidi ile arka uç örneği arasında ağ erişilebilirliğini doğrulayın.
MSE konsolunda hizmetin Push track bilgilerini görüntüleyerek doğru örnek IP adresinin tüketiciye teslim edildiğini doğrulayın.