SpringCloud学習ノートシリーズ04---Clonfig配置センター
5796 ワード
SpringCloudコンフィギュレーションセンタ Spring Cloud Configは、分散システムの外部構成にサーバとクライアントのサポートを提供します.Config Serverを使用すると、すべての環境でアプリケーションの外部プロパティを管理できます.クライアントとサーバ上のコンセプトマッピングはSpring EnvironmentとPropertySourceの抽象と同じであるため、Springアプリケーションと非常によく一致しますが、任意の言語で実行されるアプリケーションと一緒に使用できます.アプリケーションが開発者からテストおよび本番への導入プロセスを通過するにつれて、これらの環境間の構成を管理し、アプリケーションが移行時に実行する必要があるすべてのものを特定できます.サーバストレージバックエンドのデフォルトインプリメンテーションはgitを使用するため、ラベルバージョンの構成環境を簡単にサポートし、コンテンツを管理するためのさまざまなツールにアクセスできます.代替インプリメンテーションを簡単に追加し、Spring構成を使用して挿入できます.
Config Serverサービス Maven依存 の使用バージョンは:2.1である.1.RELEASE
application.yml構成:
bootstrap.yml構成:
クラス構成の開始
Config Clientクライアント Maven依存
aplication.ymlプロファイル
bootstrap.yml構成
Config Serverサービス
org.springframework.cloud
spring-cloud-config-server
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.boot
spring-boot-starter-security
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
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クライアント
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
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
# config --> bootstrap.yml
spring:
cloud:
config:
uri: http://localhost:5001
profile: dev
label: master
username: admin
password: admin