Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Dubbo uygulamalarını SAE'e geçirin

Son Güncelleme:Oct 06, 2026

Dubbo uygulamanız zaten Alibaba Cloud üzerinde dağıtılmışsa bunu Serverless App Engine (SAE) ortamına geçirebilirsiniz. Bu konu uygulamanızı SAE ortamına sorunsuz şekilde nasıl geçireceğinizi açıklar.

1. Adım: İlk uygulamayı geçirin

Bu konuda demo bir uygulama kullanarak geçiş sürecini gösteriyoruz. Demo uygulamayı indirmek için bkz. Demo.

  1. Uygulamaları geçiş önceliğine göre sıralayın.

    Çağrı zincirindeki en alt düzey sağlayıcı ile başlamanızı öneririz. Çağrı zinciri analiz edilemeyecek kadar karmaşıksa herhangi bir uygulama ile başlayabilirsiniz.

  2. Uygulamaya bağımlılık ekleyin ve yapılandırmaları değiştirin.

    Not

    Bu geçişte çift kayıt ve çift abonelik stratejisi kullanılır.

    1. pom.xml dosyasına edas-dubbo-migration-bom bağımlılığını ekleyin.

      <dependency>
          <groupId>com.alibaba.edas</groupId>
          <artifactId>edas-dubbo-migration-bom</artifactId>
          <version>2.6.5.1</version>
          <type>pom</type>
      </dependency>                            
    2. application.properties dosyasına SAE hizmet kayıt defterinin IP adresini ekleyin.

      dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=zookeeper://192.168.XX.XX:2181&config-address=127.0.XX.XX:8848      
      Önemli

      Spring Boot olmayan uygulamalar için bu yapılandırmayı dubbo.properties dosyasında veya ilgili Spring yapılandırma dosyasında belirtin.


      Parametre


      Açıklama


      edas-migration://192.168.XX.XX:9999


      Birden fazla hizmet kayıt defteri için üst bilgiyi değiştirmeniz gerekmez. Başlatma sırasında Dubbo IP adresini ve bağlantı noktasını doğrular. Günlük seviyeniz WARN veya daha düşük olarak ayarlanmışsa bir WARN günlük mesajı görünebilir; bu mesajı yoksayabilirsiniz.


      service-registry


      Hizmet kaydı için kullanılan hizmet kayıt defterinin adresi. Virgülle (,) ayrılmış birden fazla hizmet kayıt defteri adresi belirtebilirsiniz. Her adres standart Dubbo kayıt defteri formatında olmalıdır. Örnekte 192.168.XX.XX ZooKeeper adresidir. Bunu gerçek ZooKeeper IP adresiniz ve bağlantı noktanızla değiştirin.


      reference-registry


      Hizmet aboneliği için kullanılan hizmet kayıt defterinin adresi. Bu parametre birden fazla kayıt defterini veya geçiş öncesinde kullanılan orijinal hizmet kayıt defterine abone olmayı destekler.


      config-address


      Dinamik yapılandırmaların gönderilmesi için kullanılan adres.

    3. Diğer değişiklikleri yapın.

      Spring Boot kullanmayan Spring uygulamaları için tarama yoluna com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRest sınıfını ekleyin.

  3. Yerel doğrulama yapın.

    Bu bölümde dinamik yapılandırma kullanan bir örnek sunuyoruz.

    1. Doğrulamaya başlamadan önce aşağıdaki adımları tamamlayın:

    2. Hizmetin kayıtlı olduğunu doğrulayın.

      • Hafif yapılandırma ve kayıt merkezinde oturum açın ve Sağlayıcı Listesi'nde hizmeti kontrol edin.

      • ZooKeeper'da oturum açın ve hizmet kaydı ile tüketim bilgilerini görüntüleyin.

    3. İsteğe bağlı: Nacos'ta oturum açın ve hizmet kayıt bilgilerini yapılandırın.

      Not

      Dinamik yapılandırmaya ihtiyacınız yoksa bu adımı atlayabilirsiniz.

      Parametre

      Açıklama

      DataId

      Bu parametreyi dubbo.registry.config olarak ayarlayın.

      Group

      Bu parametreyi applicationName ile belirtilen Dubbo uygulamasının adına (örneğin dubbo-migration-demo-server) ayarlayın. Yapılandırma uygulama düzeyindedir bu nedenle uygulama adı benzersiz olmalıdır.

      Yapılandırma içeriği

      • Uygulama düzeyi

        dubbo.reference.registry=edas://127.0.XX.XX:8080   # Hizmet aboneliği için kullanılan hizmet kayıt defterinin adresi.
        dubbo.service.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181   # Hizmet kaydı için kullanılan hizmet kayıt defterinin adresi.
      • Örnek IP adresi düzeyi

        192.168.XX.XX.dubbo.reference.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181
        192.168.XX.XX.dubbo.service.registry=edas://127.0.XX.XX:8080

      Bir kümeyi doğrularken önce örnek IP adresi düzeyinde ardından uygulama düzeyinde doğrulama yapmanızı öneririz.

    4. Geçişten sonra uygulama çağrılarının doğru çalıştığını doğrulayın ve hizmet kayıt defterindeki kayıt ve abonelik durumlarını kontrol edin.

      • Spring Boot 1.x: http://ip:port/dubboRegistry

      • Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

      Aşağıda yukarıdaki uç noktalardan birine eriştiğinizde döndürülen hizmet kayıt defteri yapılandırma bilgilerine ilişkin bir örnek verilmiştir:

      {
        "dubbo.effective.reference.registry": [
          "edas://127.0.xxx:8080"
        ],
        "dubbo.orig.reference.registry": [
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.orig.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.effective.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ]
      }
  4. Uygulamayı SAE ortamına dağıtın.

    Uygulamayı ihtiyaç duyduğunuz şekilde SAE ortamına dağıtın. Daha fazla bilgi için bkz. Uygulama dağıtımı.

  5. Sonuçları doğrulayın.

    1. İş hizmetlerinizin düzgün çalıştığını doğrulayın.

    2. Hizmet aboneliği izlemesini kontrol edin.

      Uygulamanız için Spring Boot Actuator izlemesi etkinleştirildiyse abone olunan hizmetlere ilişkin RibbonServerList bilgilerini görüntülemek üzere Actuator uç noktalarına erişin:

      • Spring Boot 1.x: http://ip:port/dubboRegistry

      • Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

      {
        "dubbo.effective.reference.registry": [
          "edas://127.0.xxx:8080"
        ],
        "dubbo.orig.reference.registry": [
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.orig.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.effective.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ]
      }

      Parametre açıklamaları:

      • dubbo.orig.**: Uygulamada yapılandırılan hizmet kayıt defteri bilgileri.

      • dubbo.effective.**: Etkili olan hizmet kayıt defteri bilgileri.

2. Adım: Kalan tüm uygulamaları geçirin

Diğer tüm uygulamaları sırayla SAE'e geçirin. Daha fazla bilgi için bkz. 1. Adım: İlk uygulamayı geçirin.

3. Adım: Geçiş yapılandırmasını temizleyin

Geçiş tamamlandıktan sonra orijinal hizmet kayıt defteri yapılandırmasını ve yalnızca geçiş amaçlı kullanılan edas-dubbo-migration-bom bağımlılığını silin.

Tüketicilerin ve sağlayıcıların yalnızca SAE üzerinden abone olmasını sağlamak için hizmet kayıt defteri adreslerini güncelleyin. Bu işlem ZooKeeper yapılandırmasının kaldırılmasını içerir. Bunu aşağıdaki yöntemlerden biriyle yapabilirsiniz:

  • Yöntem 1: Dinamik yapılandırma kullanın. Daha fazla bilgi için yerel doğrulama bölümüne bakın.

  • Yöntem 2: Yapılandırmayı manuel olarak değiştirin.

    Tüm uygulamaları güncelledikten sonra hizmet kayıt defteri adresini değiştirin ve abonelik adresini SAE Config Server olarak ayarlayın.

    dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=edas://127.0.XX.XX:8080&config-address=127.0.XX.XX:8848

    reference-registry değerini zookeeper://192.168.XX.XX:2181 yerine edas://127.0.XX.XX:8080 olarak değiştirin ve ardından uygulamayı dağıtın.

    Not

    Geçiş tamamlandıktan sonra ZooKeeper artık kullanılmıyorsa hizmet kayıt defteri yapılandırmasından zookeeper://192.168.XX.XX:2181 girişini kaldırın.

    Eski ZooKeeper'ın kullanılmaya devam edilmesi iş kararlılığını etkilemez ancak Dubbo'nun hizmet kayıt defteriyle etkileşimini karmaşıklaştırır ve hata oranını artırabilir. Geçiş tamamlandıktan sonra eski ZooKeeper yapılandırmasını derhal kaldırmanızı ve uygulamaları yoğun saatler dışında toplu olarak yeniden başlatmanızı öneririz. Son örnek adres aşağıdaki gibidir:

    dubbo.registry.address = edas://127.0.XX.XX:8080