SpringCloud学習ノートシリーズ04---Clonfig配置センター


SpringCloudコンフィギュレーションセンタ
  • Spring Cloud Configは、分散システムの外部構成にサーバとクライアントのサポートを提供します.Config Serverを使用すると、すべての環境でアプリケーションの外部プロパティを管理できます.クライアントとサーバ上のコンセプトマッピングはSpring EnvironmentとPropertySourceの抽象と同じであるため、Springアプリケーションと非常によく一致しますが、任意の言語で実行されるアプリケーションと一緒に使用できます.アプリケーションが開発者からテストおよび本番への導入プロセスを通過するにつれて、これらの環境間の構成を管理し、アプリケーションが移行時に実行する必要があるすべてのものを特定できます.サーバストレージバックエンドのデフォルトインプリメンテーションはgitを使用するため、ラベルバージョンの構成環境を簡単にサポートし、コンテンツを管理するためのさまざまなツールにアクセスできます.代替インプリメンテーションを簡単に追加し、Spring構成を使用して挿入できます.

  • Config Serverサービス
  • Maven依存
  •   
              
                  org.springframework.cloud
                  spring-cloud-config-server
              
              
              
                  org.springframework.cloud
                  spring-cloud-starter-netflix-eureka-client
              
              
              
                  org.springframework.boot
                  spring-boot-starter-security
              
    
  • の使用バージョンは:2.1である.1.RELEASE

  • application.yml構成:
  •   server.port: 5001
      spring:
        application:
          name: hyq-config-server
      # git     :      ,        
        cloud:
            config:
              server:
                git:
                  uri: https://gitee.com/hyman.hu/springcloud-config-server.git
                  search-paths: config
      #            username: [email protected]
                  #       
      #            password: '{cipher}c001ec7b0da3114aa0ca7566b41a5f324c388cce6e9edd8f01c1838e5970b369'
                  username: [email protected]
                  #        
                  password: '{cipher}AQCMhVjvU9crqy5KiNdSOl6kCxfgP6I2q7FQPUZLMm9qUKTCgvjdThv8y+sSnZodG9zgw+/eP7HZrs//ELg9ieC5kaKyble1fT6ot29WKrGWFK/a+lXhcW/sLx0LtnogZy/uJi5daydfBfleWvWJFrc3i5GmG+Cs+HuShI5v0RbZhcwAchwrBMHgc8X65Y3aMQE5HtNIrqhJn98ml/6QhkdZheSs8sQbgYV8NcORso1iT6nUd0oVii7eXkgKNR1Oi2tHMn9UtlmEDa0hu/e7VxJy6xUf7nHC80w2LMWVeKvdZHEuT0wQYSKgnCLTW5PP8tlf/Y8WQ39GbUw5e9OfqwuS8ETe6O349Ox2Oy1hRBSCJYRAzSzCYR/X4htYB/+/vY4='
            label: master
        profiles:
          active: dev
      ##     
        security:
          user:
            name: admin
            #       
      #      password: '{cipher}aa02cad7256610ff3650fbf52b853b411afc872b1e270936f7b5dafb656f4979'
            #        
            password: '{cipher}AQArjTpxXnnEZvSYDrZvJCbRDJsSeKtX4eyMyAo/LMIIXgbXl3uyxKiywkwAwQsmFG6PHbztT2iyW/1Sbze34COHeD/FSAhZxyzpfsf051LCNBr7UC/Gm6O+yH2/GWkXlbYEF5OyEmaZ6lvqxYfT2UHJZGipVJZL15htAAV6+PxHwzHCblAAt94vLVzP9iBqrKuHytDbKvIMTA2mtyhMSI4Wlpra/uwjy0ROr5AYI8gr9fnr7LJySsP0FTaf9/jktsDmCz2wN1Vo12q9CeCy75B4AB/wtYCOmH2fvjy3Su2eEeeHG4Xu/fXH2U09+/cv92RTuBa2fFuMmi09aBfLbRZLj5RexEgB61eMzjcnnD+pwm5CaRJjIpBkchtXqoPW2+M='
      # setting up spring eureka service discovery
      eureka:
        instance:
          prefer-ip-address: true
          instance-id: ${spring.application.name}:${server.port}
      
        client:
            serviceUrl:
        #      defaultZone: http://localhost:8081/eureka/,http://localhost:8082/eureka/,http://localhost:8083/eureka/
              defaultZone: http://admin:admin@localhost:8081/eureka/
    
    
    

  • bootstrap.yml構成:
  •   #         bootstrap.yml     
      encrypt:
        key: hyq
        #          
        #       :
        #keytool -genkeypair -alias mytestkey -keyalg RSA \
        #  -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" \
        #  -keypass changeme -keystore server.jks -storepass letmein
        #      ,    bootstrap.yml         
        keyStore:
              location: classpath:/server.jks
              password: letmein
              alias: mytestkey
              secret: changeme
    
    

  • クラス構成の開始
  •   @SpringBootApplication
      @EnableEurekaClient
      @EnableConfigServer
    
    


  • Config Clientクライアント
  • Maven依存
  •   
      
          org.springframework.boot
          spring-boot-starter-web
      
      
      
          org.springframework.cloud
          spring-cloud-starter-config
      
      
      
          org.springframework.boot
          spring-boot-starter-actuator
      
      
      
          org.springframework.cloud
          spring-cloud-starter-netflix-eureka-client
      
    

  • aplication.ymlプロファイル
  •   server.port: 5002
    
      spring:
        application:
          name: hyq-config-client
        profiles:
          active: dev
    
      # setting up spring eureka service discovery
      eureka:
        instance:
          prefer-ip-address: true
          instance-id: ${spring.application.name}:${server.port}
    
        client:
            serviceUrl:
        #      defaultZone: http://localhost:8081/eureka/,http://localhost:8082/eureka/,http://localhost:8083/eureka/
              defaultZone: http://admin:admin@localhost:8081/eureka/
    
      #    refresh   :    health,info
      #     :http://localhost:5002/actuator/refresh
      management:
        endpoints:
            web:
              exposure:
                include: health, info, refresh
    

  • bootstrap.yml構成
  •   # config       -->    bootstrap.yml       
      spring:
        cloud:
            config:
              uri: http://localhost:5001
              profile: dev
              label: master
              username: admin
              password: admin