Nacos嘗試配置SpringCloud
新來了一個項目,有併發要求,選擇了springcloud這套,至於eureka已經閉源了,就沒有考慮,最後選擇了阿里的nacos ,服務發現和配置中心都集中在註冊中心,配置支持動態加載,中文文檔豐富,社區活躍
首先下載安裝nacos,我這裏直接用docker了,下載壓縮包太慢
docker run --name my-nacos --env MODE=standalone -d -p 8848:8848 nacos/nacos-server
github地址 點我跳轉
輸入默認的用戶名密碼nacos/nacos,進入控制檯
http://localhost:8488/nacos
8848鈦金手機你值得擁有。
我這裏用命名空間的方式去分離profile,直接創建三個namespace,這樣在配置列表和服務列表都會有命名空間上的區分(聽起來像rabbit的vhost?)
配置文件以yaml properties等結尾配合file-extension食用效果更佳
上面的配置爲主要配置,配置數據源等主要信息,配置文件要改名爲bootstrap.yml,不要使用之前那種配置,所有的配置均在配置中心配置,其他配置也可以通過extension-configs引入其他配置
server:
port: 8001
spring:
application:
name: app
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
#每次切換環境需要修改爲對應的命名空間
namespace: c9333388-4b9c-42f8-aaa1-35x03216d3da
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
prefix: ${spring.application.name}
file-extension: yaml
namespace: ${spring.cloud.nacos.discovery.namespace}
註冊好的服務在服務列表可見,多個相同服務默認輪訓負載
在服務詳情中可以配置服務權重,-1時不可被負載
最後附上pom依賴,不要配置錯座標了,弄錯會找不到
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
</dependencyManagement>