Microservices Engine (MSE) Nacos, birden fazla dildeki SDK'lar aracılığıyla hizmet kaydı, keşfi ve yapılandırma yönetimi sağlar. Teknoloji yığınınız için doğru SDK'yı seçmek ve bilinen kararlılık sorunları içeren SDK sürümlerinden kaçınmak amacıyla bu kılavuzu kullanın.
Önerilen minimum SDK sürümleri
Kararlılık ve uyumluluk açısından en az aşağıdaki sürümleri kullanın:
| SDK | Önerilen minimum sürüm |
|---|---|
| Java (Nacos Client) | 2.3.2 veya üzeri |
| Go (nacos-sdk-go) | 2.3.3 veya üzeri (Professional Edition), 1,1.6 veya üzeri (Basic Edition) |
| Python (nacos-sdk-python) | 2.0.7 veya üzeri |
| Dubbo | 2.7.20 veya üzeri (2.x), 3.1.6 veya üzeri (3.x) |
| Spring Cloud Alibaba | 2.2.6.RELEASE veya üzeri |
Kaçınılması gereken belirli sürümlerle ilgili ayrıntılar için aşağıdaki Kısıtlanan SDK sürümleri bölümüne bakın.
Teknoloji yığınınız için bir SDK seçin
Java
| Entegrasyon | Açıklama | Referans |
|---|---|---|
| Yerel SDK | Nacos Java SDK aracılığıyla doğrudan bağlanın. | Java SDK |
| Spring Boot | Spring Boot içinde hizmet kayıt defteri ve yapılandırma merkezi olarak Nacos kullanın. | Nacos with Spring Boot |
| Spring Cloud | Yapılandırma yönetimi için Nacos'u Spring Cloud ile entegre edin. | Nacos with Spring Cloud |
| Dubbo | Yüksek performanslı uzaktan yordam çağrısı (RPC) için Dubbo hizmetlerini Nacos ile kaydedin. | Dubbo on MSE |
Go
| Entegrasyon | Açıklama | Referans |
|---|---|---|
| Yerel SDK | Go SDK ile bir hizmet kayıt defteri ve yapılandırma merkezi kurun. | nacos-sdk-go |
| Dubbo-Go | Apache Dubbo-Go ve Nacos kullanarak Go'da RPC hizmetleri oluşturun. | Dubbo-Go |
| Kitex | Yerleşik Nacos hizmet kayıt defteri desteğine sahip Go mikroservisleri için bir RPC çerçevesi olan Kitex'i kullanın. | - |
Node.js
| Entegrasyon | Açıklama | Referans |
|---|---|---|
| Yerel SDK | Node.js SDK ile hizmet kaydı ve keşfi uygulayın. | nacos-sdk-nodejs |
Python
| Entegrasyon | Açıklama | Referans |
|---|---|---|
| Yerel SDK | Python SDK ile bir mikroservis sistemi oluşturun. | nacos-sdk-python |
Hizmet mesh'i (Istio)
MSE Nacos, Mesh Configuration Protocol (MCP) standardı aracılığıyla Istio hizmet mesh ekosistemiyle entegre olur. Nacos'u hizmet mesh'i ile bağlamak için bkz. Hizmet kaynağı oluşturma.
Kısıtlanan SDK sürümleri
Belirli SDK sürümlerinde hizmet kesintilerine, performans düşüşüne veya veri sorunlarına neden olabilecek bilinen hatalar bulunur. Aşağıda listelenen sürümlerden kaçının ve önerilen alternatiflere yükseltin.
Java SDK (Nacos Client)
| Kısıtlanan sürümler | Sorun | Eylem |
|---|---|---|
| 0.x - 1,1.x | Hafif hizmet heartbeat'lerini desteklemez. Aşırı büyük heartbeat paketleri performansı düşürür. Ayrıntılar. | 1.2.0 veya üzeri bir sürüme yükseltin. |
| 1.4.0 ve öncesi | 1.4.0 ve önceki sürümlerde ağ paketi kaybı veya diğer beklenmeyen hatalar oluştuğunda heartbeat iş parçacığı beklenmedik şekilde sonlanır. Hizmet çevrimdışı duruma geçer ve otomatik olarak kurtarılamaz. Ayrıntılar. | 1.4.3 veya üzeri bir sürüme yükseltin. |
| 1.4.1 - 1.4.2 | 1.4.1: DNS kullanılamazsa ve etki alanı adı çözümlemesi başarısız olursa heartbeat iş parçacığı beklenmedik şekilde sonlanır. Hizmet çevrimdışı duruma geçer ve otomatik olarak kurtarılamaz. Ayrıntılar. 1.4.2: getConfigAndSignListener API'si, şifreli bir yapılandırmayı sorgularken düz metin içeriği döndürür. |
1.4.3 veya üzeri bir sürüme yükseltin. |
| 2.0.0 - 2.0.1 | RAM kimlik bilgilerini taşıyamaz. Altyapıda istemci kimlik doğrulamasını etkinleştirdikten sonra, gerekli bilgiler yapılandırılmış olsa bile istemci yapılandırmaları alamaz, hizmetleri kaydedemez veya keşfedemez. | 2.0.2 veya üzeri bir sürüme yükseltin. |
| 2.2.0 - 2.2.1 | EDAS veya SAE üzerinden dağıtım yaparken -Dnacos.use.endpoint.parsing.rule=false ve -Dnacos.use.cloud.namespace.parsing=false JVM parametreleri etkili olmaz. Bu durum, uygulamanın MSE Nacos kümesine bağlanmasını engeller. |
2.2.2 veya üzeri bir sürüme yükseltin. |
| 2.3.1 | Sunucu, yapılandırma değişmemiş olsa bile yapılandırma güncellemelerini tekrar tekrar iter. Bu durum gereksiz CPU ve ağ yüküne neden olur ve kararlılığı etkileyebilir. Ayrıntılar. | 2.3.2 veya üzeri bir sürüme yükseltin. |
Go SDK (nacos-sdk-go)
| Kısıtlanan sürümler | Sorun | Eylem |
|---|---|---|
| 1.0.1 - 1,1.3 | İstemci her zaman sürümünü 1.0.1 olarak bildirir; bu durum doğru sürüm tanımlamasını engeller. İki kritik hata, sık değişiklik bildirimlerine veya heartbeat kesintilerine neden olabilir. | Basic Edition: 1.1.6 veya üzeri bir sürüme yükseltin. Professional Edition: 2.3.2 veya üzeri bir sürüme yükseltin. |
| 1,1.4 | Abone olunan bir yapılandırma silindiğinde istemci, var olmayan hizmeti sürekli olarak sorgular. Ortaya çıkan yoğun yapılandırma sorgu isteği akışı hız sınırlamayı tetikleyebilir ve diğer uygulamaları etkileyebilir. Ayrıntılar. | 1,1.4'ten sonraki bir sürüme yükseltin. Önerilen minimum sürümler için yukarıdaki Önerilen minimum SDK sürümleri tablosuna bakın. |
| 2.0.0 - 2.1.0 | İstemci her zaman sürümünü 2.0.0 olarak bildirir; bu durum doğru sürüm tanımlamasını engeller. Yeniden bağlantı sonrası örnekler hizmetlere otomatik olarak yeniden kaydolmaz veya yeniden abone olmaz. Hizmet çevrimdışı duruma geçer ve kurtarılamaz. Ayrıntılar. | 2.3.3 veya üzeri bir sürüme yükseltin. |
| 2.2.7 - 2.3.1 | İstemci her zaman sürümünü 2.2.7 olarak bildirir; bu durum doğru sürüm tanımlamasını engeller. İki kritik hata, hizmet değişikliği bildirimlerinin alınamamasına veya bağlantı kesintisi sonrası hizmet kaybına neden olabilir. | 2.3.3 veya üzeri bir sürüme yükseltin. |
Python SDK (nacos-sdk-python)
| Kısıtlanan sürümler | Sorun | Eylem |
|---|---|---|
| 2.0.0 - 2.0.6 | Yeniden bağlantı sonrası istemci hizmetlere ve yapılandırmalara otomatik olarak yeniden kaydolmaz veya yeniden abone olmaz. Bu durum, otomatik kurtarma olmadan hizmet kesintilerine yol açar. | 2.0.7 veya üzeri bir sürüme yükseltin. |
Dubbo
| Kısıtlanan sürümler | Sorun | Eylem |
|---|---|---|
| 2.7.5 ve öncesi | Birden çok hizmete abone olunurken sağlayıcının adres listesindeki değişiklikler alınamaz. Trafik, çevrimdışı veya var olmayan bir sağlayıcıya yönlendirilebilir. Ayrıntılar. | 2.7.6 veya üzeri bir sürüme yükseltin. |
| 2.7.8 | Aşırı sayıda Nacos Client örneği oluşturur; bu durum hem istemci hem de sunucu kararlılığını etkileyen bağlantı ve iş parçacığı sayısında ani bir artışa neden olur. Ayrıntılar. | 2.7.9 veya üzeri bir sürüme yükseltin. |
| 2.7.11 | Varsayılan olarak Nacos-Java-Client 1.4.1'e (kısıtlanan bir sürüm) bağımlıdır. | 2.7.12 veya üzeri bir sürüme yükseltin ya da Nacos Client sürümünü açıkça 1.4.2 veya üzeri olarak ayarlayın. |
| 2.7.19 ve öncesi | Dubbo bir hizmete abone olduğunda birden çok hizmet adına abone olur. Adres listesi toplama sırasında tüketici sağlayıcıyı bulamayabilir. Ayrıntılar. | 2.7.20 veya üzeri bir sürüme yükseltin. |
| 3.0.0 - 3.1.5 | Kararlılığı etkileyen bilinen sorunlar içerir. | 3.1.6 veya üzeri bir sürüme yükseltin. |
Spring Cloud Alibaba
| Kısıtlanan sürümler | Sorun | Eylem |
|---|---|---|
| 2.2.4'ten önceki sürümler | Nacos Client günlük yapılandırmasının üzerine yazar. Nacos günlükleri, uygulamanın iş günlüklerine yazılır; bu durum sorun gidermeyi karmaşıklaştırır. Ayrıntılar. | 2.2.6.RELEASE veya üzeri bir sürüme yükseltin. |
| 2.2.4.RELEASE, 2.2.5.RELEASE | Varsayılan olarak Nacos-Java-Client 1.4.1'e (kısıtlanan bir sürüm) bağımlıdır. | 2.2.6.RELEASE veya üzeri bir sürüme yükseltin ya da Nacos Client sürümünü açıkça 1.4.2 veya üzeri olarak ayarlayın. |
| 2.2.X.RELEASE, 2021., 2022. | Nacos sağlık denetimi probunu varsayılan olarak Spring Cloud Actuator sağlık denetimine ekler. Uygulama ile Nacos arasında erişim istisnaları oluştuğunda bu durum beklenmeyen uygulama yeniden başlatmalarına veya trafiğin kaldırılmasına neden olabilir. Ayrıntılar. | Uygulamanızın yapılandırma dosyasına aşağıdaki yapılandırmayı ekleyin: management.health.nacos-config.enabled=false ve management.health.nacos-discovery.enabled=false. Alternatif olarak 2023.0.3.4 veya üzeri bir sürüme yükseltin. |
Nacos SDK'nızı yükseltin
Uygulamanızın şu anda kullandığı SDK'yı ve sürümü belirleyin (
pom.xml,go.mod,requirements.txtveyapackage.jsondosyalarını kontrol edin).Hedef sürümü onaylamak için yukarıdaki tabloları inceleyin.
Derleme yapılandırma dosyanızdaki bağımlılık sürümünü güncelleyin.
Güncellenmiş uygulamayı bir hazırlama ortamında yeniden derleyip test edin.
Güncellenmiş uygulamayı dağıtın.
Not: MSE, sunucu tarafındaki Nacos sürümünü yönetir. Yukarıdaki tablolar, uygulamanızla birlikte gelen istemci SDK'sı için geçerlidir.