Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Manage application configurations

Son Güncelleme:Oct 06, 2026

Bu konuda, yapılandırma yönetimi için Spring Cloud Alibaba Nacos Config kullanan örnek bir Spring Cloud uygulamasının nasıl oluşturulacağı, bu uygulamanın SAE üzerinde nasıl dağıtılacağı ve yapılandırmaların SAE konsolu aracılığıyla nasıl yönetileceği adım adım açıklanmaktadır.

Yapılandırma değerlerini kod içinde tutmak dağıtımları kırılgan hale getirir; tek bir ayarın değiştirilmesi bile uygulamanın yeniden derlenip dağıtılmasını gerektirir. Yapılandırmayı Nacos ile dışa aktararak, koda dokunmadan veya hizmeti yeniden başlatmadan çalışma zamanında değerleri güncelleyebilirsiniz. SAE, Uygulama Yapılandırma Yönetimi (ACM) üzerinden açık kaynaklı Nacos ile entegre çalışır. Bir uygulamayı SAE üzerinde dağıttığınızda, SAE konsolu yapılandırma değişikliklerini doğrudan çalışan örneklere iletir.

Bu konuda nacos-config-example demo uygulaması kullanılmaktadır. Adımları takip etmek için nacos-config-example.zip dosyasını indirin.

Ön koşullar

Başlamadan önce aşağıdakileri yaptığınızdan emin olun:

Nacos Server'ı başlatın

  1. Nacos Server paketini indirin ve arşivden çıkarın.

  2. nacos/bin dizinine gidin ve işletim sisteminize uygun başlatma komutunu çalıştırın:

    • Linux, Unix veya macOS: sudo sh startup.sh -m standalone

    • Windows: startup.cmd -m standalone

    -m standalone bayrağı, Nacos'u küme modu (varsayılan) yerine bağımsız modda başlatır. Windows'ta startup.cmd dosyasına çift tıklamak onu küme modunda başlatır ve başarısız olur. Bunu düzeltmek için dosyayı açıp MODE="standalone" olarak ayarlayın. Ayrıntılar için Nacos Hızlı Başlangıç Kılavuzu konusuna bakın.

Yerel Nacos Server'da yapılandırma oluşturun

  1. Nacos Server konsoluna giriş yapın. Varsayılan kullanıcı adı ve parola nacos değeridir.

  2. Sol gezinme bölmesinde Configurations seçeneğine tıklayın. Configurations sayfasında, sağ üst köşedeki add icon simgesine tıklayın.

  3. Create configuration sayfasında aşağıdaki parametreleri ayarlayın ve Publish seçeneğine tıklayın:

    • Data ID: nacos-config-example.properties

    • Group: DEFAULT_GROUP

    • Configuration Content: test.name=nacos-config-test

Adım 1: Uygulama yapılandırmalarını yönetmek için Nacos Config'i kullanın

Sürüm uyumluluğu

Bu örnekte Spring Boot 2.1.4.RELEASE ve Spring Cloud Greenwich.SR1 kullanılmaktadır. Spring Cloud sürümünüzle eşleşen Spring Cloud Alibaba sürümünü seçin:

Spring Cloud sürümü Spring Cloud Alibaba sürümü
Greenwich 2.1.1.RELEASE
Finchley 2.0.1.RELEASE
Edgware 1.5.1.RELEASE (kullanımdan kaldırılmıştır; kullanmayın)

Uygulamayı oluşturun

  1. nacos-config-example adında bir Maven projesi oluşturun.

  2. Aşağıdaki bağımlılıkları pom.xml dosyasına ekleyin. Bu örnekte Spring Cloud Greenwich kullanıldığından, spring-cloud-starter-alibaba-nacos-config sürümü 2.1.1.RELEASE olarak ayarlanmıştır.

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
  3. src/main/java dizini altında com.aliware.edas paketini oluşturun.

  4. com.aliware.edas paketi içinde NacosConfigExampleApplication başlangıç sınıfını oluşturun:

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class NacosConfigExampleApplication {
        public static void main(String[] args) {
            SpringApplication.run(NacosConfigExampleApplication.class, args);
        }
    }
  5. com.aliware.edas paketi içinde EchoController denetleyicisini oluşturun:

    • @Value("${test.name}") anotasyonu, Nacos Config'den gelen test.name anahtarının değerini enjekte eder.

    • @RefreshScope anotasyonu, Nacos bir yapılandırma değişikliği gönderdiğinde bean'in yeniden oluşturulmasını sağlar. Böylece enjekte edilen değer, yeniden başlatmaya gerek kalmadan otomatik olarak güncellenir. Bu anotasyon olmadan uygulama yapılandırmayı yalnızca başlangıçta okur ve sonraki değişiklikleri yok sayar.

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.cloud.context.config.annotation.RefreshScope;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RefreshScope
    public class EchoController {
    
        @Value("${test.name}")
        private String userName;
    
        @RequestMapping(value = "/")
        public String echo() {
            return userName;
        }
    }
  6. src/main/resources dizini altında bootstrap.properties dosyasını oluşturun ve uygulamayı yerel Nacos Server'a bağlamak için aşağıdaki yapılandırmayı ekleyin. 127.0.0.1:8848 varsayılan Nacos Server adresidir; 18081 ise uygulamanın hizmet portudur. Nacos Server'ınız başka bir yerde çalışıyorsa adresi ve portu buna göre değiştirin.

    spring.application.name=nacos-config-example
    server.port=18081
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848

    Kullanılabilir tüm yapılandırma seçenekleri için bkz. Yapılandırma referansı.

  7. Uygulamayı yerel olarak başlatmak için NacosConfigExampleApplication içindeki main yöntemini çalıştırın.

Adım 2: Uygulamayı SAE üzerinde dağıtın

Yerel testleri tamamladıktan sonra uygulamayı SAE üzerinde dağıtın. Dağıtım talimatları için bkz. Uygulamaları dağıtın.

SAE'nin Nacos ayarlarını geçersiz kılma yöntemi

Uygulama SAE üzerinde çalışırken, SAE aşağıdaki Nacos bağlantı ayrıntılarını bootstrap.properties dosyanızdaki değerlerden daha yüksek öncelikle otomatik olarak enjekte eder: Nacos Server IP adresi ve hizmet portu, ad alanı, erişim anahtarı, gizli anahtar ve bağlam yolu. bootstrap.properties dosyasında değişiklik yapmanıza gerek yoktur; orijinal değerleri koruyabilir veya kaldırabilirsiniz.

Çalışma zamanı ortamı

SAE konsolu üzerinden Deployment with JAR Packages kullanarak ilk kez dağıtım yaparken, Application Runtime Environment seçeneğini Standard Java Application Runtime Environment olarak ayarlayın. Java Environment için Open JDK 8 seçeneğini ve File Upload Method için Upload JAR Package seçeneğini belirleyin.

SAE'de eşleşen yapılandırmayı oluşturun

Dağıtımdan önce, uygulamanın dağıtım sonrasında bu yapılandırmayı okuyabilmesi için aynı yapılandırmayı SAE'nin yapılandırma yönetiminde yeniden oluşturun.

  1. SAE konsoluna giriş yapın. Sol gezinme bölmesinde Namespace seçeneğine tıklayın, ardından üst menü çubuğundan bir bölge seçin.

  2. Namespace sayfasında, hedef ad alanının adına tıklayın.

  3. Sol gezinme bölmesinde Distributed Configuration Management > Configurations yolunu izleyin. Configurations sayfasında Create Configuration seçeneğine tıklayın.

  4. Create configuration panelinde parametreleri ayarlayın ve Create seçeneğine tıklayın.

    Parametre Açıklama
    Data ID Yapılandırma tanımlayıcısı. Bu örnek için nacos-config-example.properties kullanın. Benzersizlik sağlamak amacıyla package.class adlandırma kuralını izleyin; örneğin, com.taobao.tc.refund.log.level.
    Group Yapılandırma grubu. Bu örnek için DEFAULT_GROUP kullanın. Benzersizlik sağlamak amacıyla product name:module name biçimini kullanın; örneğin, ACM:Test. Gruplar kimlik doğrulamayı destekler.
    Data Encryption Hassas değerler içeren yapılandırmalar için şifrelemeyi etkinleştirir. Key Management Service (KMS) aktivasyonu ve ACM izinlerinin verilmesini gerektirir. Şifrelenmiş yapılandırmaların Data ID'si `cipher-` önekiyle başlar. Bkz. Şifrelenmiş yapılandırma oluşturma ve kullanma.
    Configuration Format Yapılandırma içeriğinin biçimi. Bu örnek için TEXT seçeneğini belirleyin.
    Configuration Content Yapılandırma içeriği. Bu örnek için test.name=nacos-config-test girin.
    Configuration Description Yapılandırma için isteğe bağlı bir açıklama.
    More Configurations
    Application (More Configuration altında) Yapılandırmanın ait olduğu uygulama adı.
    Label (More Configuration altında) Yapılandırmaları düzenlemek için kullanılan etiketler. Her yapılandırma için en fazla beş etiket belirtilebilir.

Adım 3: Sonucu doğrulayın

Uygulama SAE üzerinde başladıktan sonra, yapılandırmayı SAE'den doğru şekilde okuduğunu doğrulayın.

  1. Aşağıdaki komutu çalıştırın. <application instance IP> ve <service port> değerlerini uygulamanızın gerçek değerleriyle değiştirin.

    curl http://<application instance IP>:<service port>

    Örnek:

    curl http://192.168.0.34:8080

    Komut, uygulama yapılandırmayı başarıyla yüklediyse nacos-config-test değerini döndürür. > Tip: Komut beklenen değeri döndürmezse, SAE konsolundaki uygulama günlüklerini kontrol ederek Nacos bağlantısının başarılı olduğunu teyit edin ve SAE'deki Data ID ile Group değerlerinin bootstrap.properties dosyasındaki değerlerle eşleştiğini doğrulayın.

  2. SAE konsolunda, yapılandırma içeriğini nacos-config-test değerinden nacos-config-test2 değerine güncelleyin, ardından curl komutunu tekrar çalıştırın.

    curl http://192.168.0.34:8080

    Komut artık nacos-config-test2 değerini döndürür. Bu durum, SAE'nin güncellenen yapılandırmayı çalışan uygulamaya yeniden başlatma gerektirmeden ilettiğini gösterir. EchoController üzerindeki @RefreshScope anotasyonu otomatik yenilemeyi tetikler.

Yapılandırma referansı

Gerekirse aşağıdaki öğelerden herhangi birini bootstrap.properties dosyasına ekleyin.

Yapılandırma öğesi Anahtar Varsayılan Zorunlu Açıklama
Sunucu adresi spring.cloud.nacos.config.server-addr Yok Evet Nacos Server adresi.
Data ID öneki spring.cloud.nacos.config.prefix ${spring.application.name} Hayır Data ID öneki.
Grup spring.cloud.nacos.config.group DEFAULT_GROUP Hayır Yapılandırma grubu.
Data ID soneki ve yapılandırma biçimi spring.cloud.nacos.config.file-extension properties Hayır Data ID soneki ve yapılandırma dosyası biçimi. Desteklenen değerler: properties, yaml, yml.
İçerik kodlaması spring.cloud.nacos.config.encode UTF-8 Hayır Yapılandırma içeriğinin kodlaması.
Alma zaman aşımı spring.cloud.nacos.config.timeout 3000 Hayır Yapılandırmanın alınması için milisaniye cinsinden zaman aşımı süresi.
Ad alanı spring.cloud.nacos.config.namespace Yok Hayır Yapılandırmaları ortamlar arasında (örneğin, geliştirme, test ve üretim) izole eder.
Göreceli yol spring.cloud.nacos.config.context-path Yok Hayır Sunucu API'sinin göreceli yolu.
Uç nokta spring.cloud.nacos.config.endpoint UTF-8 Hayır Bölgedeki bir hizmetin uç noktası. Sunucu adresini dinamik olarak çözmek için kullanılır.
Dinleyiciyi ve otomatik yenilemeyi etkinleştir spring.cloud.nacos.config.refresh.enabled true Hayır Yapılandırma dinlemeyi ve otomatik yenilemeyi etkinleştirir. Varsayılan değerde bırakın.

Tüm yapılandırma öğelerinin tam listesi için bkz. Spring Cloud Alibaba Nacos Config belgeleri.

Sonraki adımlar