Tüm Ürünler
Search
Belge Merkezi

Microservices Engine:MSE Microservices Registry için yüksek kullanılabilirlik

Son Güncelleme:Oct 06, 2026

MSE Microservices Registry'nin yüksek kullanılabilirlik özellikleri, daha dayanıklı uygulamalar oluşturmanıza yardımcı olur. Bu en iyi uygulamalar kapsamına göre kategorize edilir: örnek yüksek kullanılabilirliği, hizmet keşfi yüksek kullanılabilirliği ve yapılandırma yönetimi yüksek kullanılabilirliği. Bu konuda MSE Microservices Registry'nin Professional Edition'ı örnek olarak kullanılmıştır.

Önerilen sürümler

  • spring-cloud-alibaba: 2.2.6.RELEASE veya sonraki sürümler.

  • Dubbo: 2.7.12 veya sonraki sürümler.

  • spring-boot: 2.3.x veya önceki sürümler. Uyumluluk sorunları nedeniyle 2.4.x sürümlerinin kullanılması önerilmez.

Microservices Registry örnekleri için yüksek kullanılabilirlik

  • High-availability architecture

    Hiçbir hizmet %100 kullanılabilir değildir. Yüksek güvenilirlik ve veri güvenliği sağlamak için örneğinizi en az üç düğümle dağıtın. Bir düğüm arızalanırsa trafik saniyeler içinde başka bir düğüme yönlendirilir ve hatalı düğüm kümeden otomatik olarak kaldırılır.

    Microservices Registry'nin Professional Edition'ı Nacos 2.0 mimarisi üzerine kuruludur. Bu tasarım, olağanüstü durum kurtarma yeteneklerini geliştirir ve yüksek kullanılabilirlik için altta yatan altyapıya olan bağımlılığı azaltır. Daha fazla bilgi için bkz. Örnek sürümü seçimi.

  • Multi-zone deployment

    Her MSE bölgesi birden fazla alan içerir. Aynı bölgedeki farklı alanlarda çalışan uygulamalar, hata yalıtımından yararlanırken düşük ağ gecikme süresine (3 ms'den az) sahip olur. Çok alanlı bir örnek, fiziksel sunucuları farklı alanlara dağıtır. A Alanında bir arıza meydana gelirse trafik hızla B Alanına yönlendirilir. Bu işlem kesintisizdir ve uygulama kodunuzda herhangi bir değişiklik gerektirmez. Düğüm sayısını yapılandırmanız yeterlidir; MSE, çoklu alanlar arasındaki dağıtımı otomatik olarak yönetir.

    Şekil 1. MSE üç düğümlü aktif-aktif mimari MSE三节点同城双活架构图

    Şekil 2. Çok katmanlı olağanüstü durum kurtarma mimarisi 多级容灾架构

Hizmet keşfi yüksek kullanılabilirliği

Hizmet keşfinde, consumers ve providers farklı yüksek kullanılabilirlik özelliklerine sahiptir: consumers Push-through protection sunar, providers ise disaster recovery destekler.

Tüketiciler

Bir tüketici, kayıt defterinden sağlayıcı örneklerinin listesine abone olur. Kayıt defteri ölçeklendirme veya yükseltme gibi değişikliklere uğradığında veya alan çapında ağ kesintisi ya da güç kaybı gibi beklenmedik olaylarla karşılaştığında abonelikler başarısız olabilir ve bu durum tüketicilerin kullanılabilirliğini etkiler.

Tüketici tarafında boş liste korumasını yapılandırarak, bir kesinti sırasında tüketicinin boş bir örnek listesi almasını önleyin.服务调用方推空保护

  • Boş liste koruması olmadan: Bir tüketici boş bir liste alırsa hizmetiniz kesintiye uğrar ve hata bildirir.

  • Boş liste korumasıyla: Bir tüketici boş bir liste alırsa koruma mekanizması devreye girer, güncellemeyi reddeder ve hizmet kullanılabilirliğinin korunmasına yardımcı olur.

Configuration

Not

Bu özellik yalnızca nacos-java-client 1.4.1 ve sonraki sürümlerde desteklenir. Uyumlu Spring Cloud ve Dubbo sürümleri için bkz. Önerilen sürümler.

  • Spring Cloud uygulamaları

    Yapılandırmanıza aşağıdaki özelliği ekleyin:

    spring.cloud.nacos.discovery.namingPushEmptyProtection=true
  • Dubbo uygulamaları

    registry.url parametresine aşağıdaki değeri ekleyin:

    namingPushEmptyProtection=true

Persistent caching

Boş liste koruması etkinleştirildiğinde, uygulamanın konteyneri yeniden başlatılırsa önbellek dizini kaybolabilir. Bunu önlemek için önbellek dizinini kalıcı hale getirin; örneğin, bir birim bağlayarak.

Önbellek dizini şu konumdadır: ${user.home}/nacos/naming/${namespaceId}.

Sağlayıcılar

Sağlayıcılar için olağanüstü durum kurtarma özelliği, trafik artışları sırasında kümenizde zincirleme arızaların oluşmasını önlemeye yardımcı olur.

Not

nacos-java-client 2.x sürümleri kullanılarak kaydedilen sağlayıcılar, sağlayıcı tarafındaki olağanüstü durum kurtarma özelliğini desteklemez.

  • Without disaster recovery

    Tüketici isteklerindeki ani artış sağlayıcıları yüksek kullanım düzeyine ittiğinde bazıları başarısız olabilir:无容灾保护

    1. Kayıt defteri başarısız olan düğümü kaldırır ve tüm trafiğini kalan düğümlere yönlendirir.

    2. Kalan sağlayıcı düğümlerindeki yük artar ve bu düğümlerin de başarısız olma olasılığı yükselir.

    3. Sonuç olarak, tüm sağlayıcı düğümleri başarısız olabilir ve bu durum tamamen hizmet kesintisine neden olur.

  • With disaster recovery

    Tüketici isteklerindeki ani artış sağlayıcıları yüksek kullanım düzeyine ittiğinde bazıları başarısız olabilir:开启容灾保护

    1. Kayıt defteri başarısız olan düğümü sağlıksız olarak işaretler.

    2. Sağlıksız düğüm yüzdesi koruma eşiğini aşarsa olağanüstü durum kurtarma devreye girer. Kayıt defteri daha sonra tüketicilere kayıtlı tüm düğümleri (hem sağlıklı hem de sağlıksız) döndürür.

    3. Bu strateji, bazı düğümler sağlıksız olsa bile trafiği kayıtlı tüm düğümler arasında dağıtarak tamamen hizmet kesintisini önler.

Enable disaster recovery

  • Supported instance types

    • Kalıcı örnekler: Tamamen desteklenir.

    • Kalıcı olmayan örnekler:

      • nacos-java-client 1.x: Varsayılan olarak, sağlıksız örnekler 30 saniye sonra kaldırılır. Kaldırılan bir örnek koruma eşiğine dahil edilmez ve bu durum olağanüstü durum kurtarma ilkesinin devreye girmesini engeller.

      • nacos-java-client 2.x: Desteklenmez. Örnekler, kalıcı bağlantı kesildikten hemen sonra çevrim dışı bırakılır; bu nedenle olağanüstü durum kurtarma ilkesi tetiklenemez.

  • Configure by using the command line

    • Belirli bir hizmet için eşiği güncelleyin

      curl -X PUT "${nacos.address}/nacos/v1/ns/service?namespaceId=public&serviceName=my-provider&protectThreshold=0.6"
      • ${nacos.address}: Microservices Registry adresi.

      • namespaceId: Ad alanı kimliği. Varsayılan değer: public.

      • serviceName: Spring Cloud uygulaması için hizmet adı veya Dubbo uygulaması için arayüz adı.

    • Eşik yapılandırmasını sorgulayın

      curl -X GET "${nacos.address}/nacos/v1/ns/service?namespaceId=public&serviceName=my-provider"
    • Yanıt

      {"namespaceId":"public","groupName":"DEFAULT_GROUP","name":"my-provider","protectThreshold":0.7,"metadata":{},"selector":{"type":"none"},"clusters":[]}

Microservices Governance high availability configuration

Sorunsuz başlatma ve durdurma, aykırı örnek kaldırma ve hizmet düşürme gibi Microservices Governance özelliklerini kullanarak uygulama kullanılabilirliğini daha da artırın.

Yapılandırma yönetimi yüksek kullanılabilirliği

Yapılandırma yönetiminin yüksek kullanılabilirliği iki temel unsura dayanır: istemci taraflı önbellek ve yedekleme dizinleri ile yapılandırma merkezinin çok katmanlı kısıtlama yetenekleri.

Not

Microservices Registry'nin Professional Edition'ında yapılandırma yönetimi için aşağıdaki yüksek kullanılabilirlik yetenekleri varsayılan olarak etkindir. Herhangi bir işlem yapmanız gerekmez.

配置管理

  • Client

    • Cache directory: İstemci her yapılandırma merkezinden veri aldığında en son yapılandırmayı yerel bir önbellek dizinine kaydeder. Sunucu kullanılamaz duruma gelirse istemci bu yerel önbelleğe geri döner.

    • Backup directory: Sunucu kullanılamaz durumda olduğunda yerel yedekleme dizinindeki dosyaları manuel olarak güncelleyebilirsiniz. İstemci, sunucudan gönderilen bir yapılandırma güncellemesini simüle ederek öncelikli olarak bu dizinden yükleme yapar.

  • Configuration Center

    Altyapı düzeyinde yüksek kullanılabilirliğin yanı sıra, yapılandırma merkezi hizmeti kararlılığı artırmak için çok boyutlu hız sınırlama uygular. Buna düğüm başına maksimum bağlantı ve istemci IP'si başına bağlantı sınırları dahildir. Ayrıca saniye ve dakika başına yapılandırma yayınlamaları için hız sınırlama ve tek tek yapılandırmalar için ayrıntılı kısıtlama sağlar. Bu önlemler, anormal trafik nedeniyle sunucu kesintisi riskini azaltmaya yardımcı olur.