項目是針對Consul的服務治理實現(xiàn)。愛掏網(wǎng) - it200.comConsul是一個分布式高可用的系統(tǒng),具有分布式、高可用、高擴展性
Consul 是 HashiCorp 公司推出的開源工具,用于實現(xiàn)分布式系統(tǒng)的服務發(fā)現(xiàn)與配置。愛掏網(wǎng) - it200.com與其他分布式服務注冊與發(fā)現(xiàn)的方案,Consul的方案更“一站式” ,內置了服務注冊與發(fā)現(xiàn)框 架、具有以下性質:
● 分布一致性協(xié)議實現(xiàn)
● 健康檢查
● Key/Value存儲
● 多數(shù)據(jù)中心方案
不再需要依賴其他工具(比如ZooKeeper等)
org.springframework.cloud spring-cloud-starter-consul-allorg.springframework.boot spring-boot-starter-actuator
consul-all依賴提供了哪些功能?
org.springframework.cloud spring-cloud-starter-consul-busorg.springframework.cloud spring-cloud-starter-consul-configorg.springframework.cloud spring-cloud-starter-consul-discovery
bootstrap.yml
這里要注意是要配置在 bootstarp.yml
spring:
application:
name: pig-consul
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
format: KEY_VALUE
watch:
enabled: true
prefix: pig-config
下載: https://www.consul.io/downloads.html
使用:(dev模式,生產建議cluster模式)
-dev表示開發(fā)模式運行,使用-client 參數(shù)可指定允許客戶端使用什么ip去訪問,例如-client 127.0.0.1 表示可以使用。愛掏網(wǎng) - it200.com
consul agent -dev -client 127.0.0.1
生產配置參考:
https://www.consul.io/intro/getting-started/join.html
http://127.0.0.1:8500/ui/ 去訪問
配置config
@RestController
public class DemoController {
@Value("${author}")
private String author;
@GetMapping("/demo")
public String demo() {
return author;
}
}
關于實時刷新配置
spring:
cloud:
consul:
config:
watch:
enabled: true
然后應用要開啟定時任務
@EnableScheduling
- 相較于spring cloud config 的配置中心,使用起來較為麻煩,但是對于實時刷新,這塊要優(yōu)于spring cloud config 的,不依賴于中間件的消息通知,也不會出現(xiàn)服務下線的問題。愛掏網(wǎng) - it200.com
- 這篇文章主要是入門,更高級的使用Consul Config 結合 Git 來做版本控制,請參考我后邊的文章
- [關于pig:基于Spring Cloud、oAuth2.0開發(fā)基于Vue前后分離的開發(fā)平臺,支持賬號、短信、SSO等多種登錄,提供配套視頻開發(fā)教程]
聲明:所有內容來自互聯(lián)網(wǎng)搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。