Tüm Ürünler
Search
Belge Merkezi

Enterprise Distributed Application Service:Çok uygulamalı bir Spring Cloud kümesini EDAS'e geçirin

Son Güncelleme:Oct 03, 2026

Bu kılavuz, hizmet kesintisi olmadan çok uygulamalı bir Spring Cloud kümesini Enterprise Distributed Application Service (EDAS) platformuna nasıl geçireceğinizi adım adım anlatır. Çift kayıt ve çift abonelik yaklaşımı, geçiş süreci boyunca hem taşınan hem de taşınmayan uygulamaların birbirleriyle iletişim kurmasını sağlar.

Bu kılavuz, Alibaba Cloud üzerinde zaten dağıtılmış olan Spring Cloud kümeleri için geçerlidir. Kümeniz henüz Alibaba Cloud'da değilse eksiksiz bir geçiş çözümü için destek talebi oluşturun veya EDAS teknik destek ekibiyle iletişime geçin.

Not

Kümeniz üretim ortamında değilse veya hizmet kesintisini kabul ediyorsanız bu kılavuzu atlayabilirsiniz. Uygulamaları yerel ortamda geliştirip doğrudan EDAS'e dağıtabilirsiniz. Bkz. Hizmet kaydı ve keşfi uygulama.

Neden EDAS'e geçmelisiniz?

EDAS, kendi kendinize yönettiğiniz Spring Cloud altyapısının operasyonel yükünü yönetilen bir platformla değiştirir. Geçiş sonrasında:

  • Esnek dağıtım -- Başlatma parametrelerini yapılandırın, dağıtım ilerlemesini görsel olarak izleyin ve isteklerin düşmesini önlemek için zarif hizmet bağlantısı ve bağlantı kesme yöntemlerini kullanın.

  • Yerleşik hizmet keşfi -- EDAS, ticari sürümünde hizmet keşfi ve yapılandırma yönetimi sağlayarak kendi kendinize yönetilen Eureka, ZooKeeper veya Consul çözümlerinin yerine geçer.

  • Merkezi hizmet yönetimi -- Yayınlanan ve tüketilen hizmetleri EDAS konsolundan sorgulayın. Örnek bilgilerini görüntülemenin yanı sıra mikro hizmet izleme, sistem çağrı topolojisi ve yavaş SQL analizi özelliklerine erişin.

  • Otomatik ölçeklendirme -- Trafiğe bağlı olarak uygulama örneklerini dinamik şekilde içeri veya dışarı doğru ölçeklendirin.

  • Aşamalı yayınlar -- Güncellemeleri tüm örneklere yaymadan önce küçük ölçekte doğrulama yapmak için uçtan uca aşamalı yayınlar çalıştırın.

  • Kısıtlama ve degradasyon -- Yoğun yük altında uygulama kararlılığını korumak için kısıtlama ve hizmet degradasyonu uygulayın.

Bir geçiş yöntemi seçin

EDAS iki geçiş yöntemi destekler. Her iki yöntem de hizmet sürekliliğini korur.

Yöntem Nasıl çalışır?
Kayıt defteri değiştirme Orijinal hizmet kayıt defterini Nacos'a değiştirmek için Spring Cloud Alibaba'yı kullanın. Uygulamaları geliştirip EDAS'e dağıttıktan sonra SLB örneğini ve alan adını yapılandırarak trafiği yönlendirin.
Çift kayıt ve çift abonelik Geçiş sırasında hem orijinal hizmet kayıt defterine hem de EDAS hizmet kayıt defterine erişim sağlayarak taşınan ve taşınmayan uygulamaların birbirlerini çağırmasına olanak tanır.

Kayıt defteri değiştirme yöntemini seçerseniz Hizmet kaydı ve keşfi uygulama bölümündeki standart kurulum adımlarını izleyin. Bu kılavuzun geri kalan kısmı çift kayıt ve çift abonelik yöntemini kapsar.

Çift kayıt nasıl çalışır?

Geçiş sırasında her uygulama hem orijinal hizmet kayıt defterine hem de EDAS kayıt defterine (Nacos) kayıt olur. Bu sayede:

  • Taşınan uygulamalar, orijinal kayıt defteri aracılığıyla taşınmayan uygulamaları keşfeder.

  • Taşınmayan uygulamalar da aynı şekilde taşınan uygulamaları keşfeder.

  • Her iki grup da kesinti olmadan birbirini çağırabilir.

  • Tüketici hizmet çağrı listesini görüntüleyebilir ve geçiş ilerlemesini gerçek zamanlı olarak takip edebilirsiniz.

  • Uygulamalar yalnızca tüm geçiş süreci sırasında bir kez yeniden başlatılır. Bundan sonra, yeniden başlatmaya gerek kalmadan kayıt ve abonelik ilkelerini dinamik olarak ayarlayabilirsiniz.

Tüm uygulamalar taşındıktan sonra orijinal kayıt defteri yapılandırmasını ve geçiş bağımlılığını kaldırın.

Geçişe genel bakış

Geçiş üç aşamadan oluşur:

  1. Uygulamaları geçirin (zorunlu) -- Durumsuz uygulamalar tek tek geçirilir.

  2. Server Load Balancer (SLB) örneğini geçirin veya DNS'i güncelleyin (isteğe bağlı) -- Trafiği yeni dağıtıma yönlendirin.

  3. Depolama ve mesaj kuyruklarını geçirin (isteğe bağlı) -- Yalnızca uygulamalarınız ApsaraDB RDS ve Message Queue gibi Alibaba Cloud hizmetlerini henüz kullanmıyorsa gereklidir.

Bu kılavuz 1. aşamaya odaklanır.

1. Aşama: Uygulamaları geçirin

Adım 1: İlk uygulamayı seçin

Bir aşağı akış sağlayıcı ile başlayın; yani diğer hizmetlerin çağırdığı ancak kendisinin yukarı akış bağımlılıkları az olan veya hiç olmayan bir uygulama seçin. Çağrı zinciriniz çok karmaşıksa ve böyle bir uygulama belirleyemiyorsanız herhangi bir uygulama seçerek devam edin.

Adım 2: Bağımlılıkları ekleyin ve yapılandırmayı güncelleyin

Uygulamayı EDAS'e dağıtmadan önce aşağıdaki değişiklikleri yapın.

2a. Nacos keşif bağımlılığını ekleyin

pom.xml dosyanıza spring-cloud-starter-alibaba-nacos-discovery bağımlılığını ekleyin.

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>{Version}</version>
</dependency>

{Version} değerini, Spring Boot sürümünüzle uyumlu olan Spring Cloud Alibaba sürümüyle değiştirin.

2b. Nacos sunucu adresini yapılandırın

application.properties dosyasına aşağıdaki özellikleri ekleyin:

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
ribbon.nacos.enabled=false

ribbon.nacos.enabled değerini false olarak ayarlamak, Nacos'un Ribbon sunucu listesini geçersiz kılmasını engeller; bu durum çift abonelik kurulumu için gereklidir.

2c. Geçiş başlangıcını ekleyin

Spring Cloud varsayılan olarak yalnızca bir hizmet kayıt defterine izin verir. edas-sc-migration-starter bağımlılığı bu kısıtlamayı kaldırır ve çift kaydı etkinleştirir.

<dependency>
    <groupId>com.alibaba.edas</groupId>
    <artifactId>edas-sc-migration-starter</artifactId>
    <version>1.0.5</version>
</dependency>

2d. Çoklu kayıt defteri aboneliği için Ribbon'ı yapılandırın

Birden fazla kayıt defterinden gelen hizmet örneklerini toplamak için uygulamanızın ana sınıfında MigrationRibbonConfiguration öğesini varsayılan Ribbon yapılandırması olarak ayarlayın.

Önce:

@SpringBootApplication
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}

Sonra:

@SpringBootApplication
@RibbonClients(defaultConfiguration = MigrationRibbonConfiguration.class)
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}

Gerekli olan tek kod değişikliği bu tek ek açıklamadır.

Adım 3: EDAS'e dağıtın

Değiştirilen uygulamayı bir ECS kümesine veya ACK kümesine dağıtın. EDAS konsolunu veya CLI araçlarını kullanabilirsiniz.

Önemli hususlar:

  • Maliyetlerden tasarruf etmek için mevcut ECS örneklerini EDAS'e aktararak yeniden kullanın. Bkz. EDAS konsolunda ECS kümesi oluşturma.

  • Yeni ECS örnekleri oluşturursanız, dahili ağ bağlantısını sürdürmek için bunları mevcut uygulamalarla aynı Virtual Private Cloud (VPC) içine yerleştirin. Bkz. Kaynak yönetimine genel bakış.

  • Veritabanları, önbellekler ve mesaj kuyruklarındaki IP adresi izin listelerini, yeni ECS örneklerinin IP adreslerini içerecek şekilde güncelleyin.

Adım 4: Geçişi doğrulayın

Dağıtımdan sonra taşınan uygulamanın doğru çalıştığını doğrulayın:

  1. Hizmet sağlığını kontrol edin -- Uygulamanın başarıyla başladığını ve beklendiği gibi istekleri işlediğini onaylayın.

  2. Ribbon sunucu listesini inceleyin -- Spring Boot Actuator etkinse, uygulamanın hangi kayıt defterlerine abone olduğunu görmek için geçiş uç noktasını sorgulayın:

    • Spring Boot 1.x: http://<ip>:<port>/migration_server_list

    • Spring Boot 2.x: http://<ip>:<port>/actuator/migration-server-list

    Yanıta bakıldığında, metaInfo içindeki serverGroup alanı her hizmet örneğinin kaynak kayıt defterini (örneğin eureka veya nacos) tanımlar.

Adım 5: Kalan uygulamaları geçirin

Kümedeki her kalan uygulama için 2. ila 4. adımları tekrarlayın.

2. Aşama: SLB örneğini geçirin veya DNS'i güncelleyin (isteğe bağlı)

Tüm uygulamalar taşındıktan sonra ağ yönlendirmesini güncelleyin:

  • Geçişten önce bir SLB örneği kullanıldıysa, bunu .

  • SLB örneği kullanılmadıysa, bir tane oluşturun ve giriş noktası uygulamanıza (örneğin API Gateway) bağlayın.

  • Alan adı yapılandırması:

3. Aşama: Depolama ve mesaj kuyruklarını geçirin (isteğe bağlı)

Uygulamalarınız zaten ApsaraDB RDS ve Message Queue gibi Alibaba Cloud hizmetlerini kullanıyorsa depolama veya mesaj kuyruğu geçişine gerek yoktur.

Uygulamalarınız Alibaba Cloud'da değilse eksiksiz bir geçiş planı için EDAS teknik destek ekibiyle iletişime geçin.

Kayıt ve abonelik ilkelerini dinamik olarak ayarlayın

Geçiş sırasında, bir uygulamanın hangi kayıt defterlerine kayıt olacağını veya abone olacağını yeniden başlatmadan ayarlayabilirsiniz. Çalışma zamanında aşağıdaki özellikleri güncellemek için EDAS yapılandırma yönetimi özelliğini, Spring Cloud Config'i veya Nacos Config'i kullanın.

Uygulamanın abone olduğu kayıt defterlerini kontrol edin

Varsayılan olarak uygulama tüm kayıt defterlerine abone olur ve sonuçları toplar.

Yalnızca belirli kayıt defterlerine abone olmak için spring.cloud.edas.migration.subscribes özelliğini ayarlayın:

# Subscribe to both Eureka and Nacos
spring.cloud.edas.migration.subscribes=nacos,eureka

# Subscribe to Nacos only
spring.cloud.edas.migration.subscribes=nacos

Uygulamanın kayıt olduğu kayıt defterlerini kontrol edin

Varsayılan olarak uygulama tüm kayıt defterlerine kayıt olur.

Belirli kayıt defterlerine kayıt olmayı durdurmak için spring.cloud.edas.migration.registry.excludes özelliğini ayarlayın:

# Register with all registries (default)
spring.cloud.edas.migration.registry.excludes=

# Stop registering with Eureka
spring.cloud.edas.migration.registry.excludes=eureka

# Stop registering with both Nacos and Eureka
spring.cloud.edas.migration.registry.excludes=nacos,eureka
Not

İpucu: Spring Cloud Config kullanıyorsanız açık kaynak belgelerine bakın. Nacos Config kurulum talimatları için bkz. Uygulama yapılandırmalarını yönetme.

Geçiş sonrası temizlik

Tüm uygulamalar EDAS'te çalıştıktan sonra geçişe özel yapılandırmayı kaldırın:

  1. Her uygulamanın pom.xml (veya build.gradle) dosyasından edas-sc-migration-starter bağımlılığını silin.

  2. Ana sınıftan @RibbonClients(defaultConfiguration = MigrationRibbonConfiguration.class) ek açıklamasını kaldırın.

  3. Orijinal hizmet kayıt defteri bağımlılığını ve yapılandırmasını (örneğin Eureka veya Consul istemci ayarlarını) kaldırın.

  4. application.properties dosyasından ribbon.nacos.enabled=false satırını kaldırın.

  5. Uygulamaları yoğun saatler dışında partiler halinde yeniden başlatın.

Not

edas-sc-migration-starter geçici olarak yerinde bırakılırsa hizmet kararlılığını etkilemez. Ancak Ribbon'ın yük dengeleme davranışını kısıtladığından geçiş tamamlandıktan sonra kaldırılmalıdır.

Demo projesi

EDAS, çift kayıt ve çift aboneliği gösteren bir örnek proje sağlar. Projeyi indirin ve yerel ortamda çalıştırmak için dahil edilen README dosyasındaki talimatları izleyin.