consul 微服务 python_Consul微服务的配置中心体验篇

Spring Cloud Consul

项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,具有分布式、高可用、高扩展性

Consul

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式” ,内置了服务注册与发现框 架、具有以下性质:

● 分布一致性协议实现

● 健康检查

● Key/Value存储

● 多数据中心方案

不再需要依赖其他工具(比如ZooKeeper等)

添加依赖

org.springframework.cloud

spring-cloud-starter-consul-all

org.springframework.boot

spring-boot-starter-actuator

consul-all依赖提供了哪些功能?

org.springframework.cloud

spring-cloud-starter-consul-bus

org.springframework.cloud

spring-cloud-starter-consul-config

org.springframework.cloud

spring-cloud-starter-consul-discovery

bootstarp.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

安装consul

-dev表示开发模式运行,使用-client 参数可指定允许客户端使用什么ip去访问,例如-client 127.0.0.1 表示可以使用。

consul agent -dev -client 127.0.0.1

配置config

demo

@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 的配置中心,使用起来较为麻烦,但是对于实时刷新,这块要优于spring cloud config 的,不依赖于中间件的消息通知,也不会出现服务下线的问题。

这篇文章主要是入门,更高级的使用Consul Config 结合 Git 来做版本控制,请参考我后边的文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值