Consul微服务的配置中心体验篇


声明:本文转载自https://my.oschina.net/giegie/blog/1634479,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

Spring Cloud Consul

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

Consul

Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式” ,内置了服务注册与发现框 架、具有以下性质:
● 分布一致性协议实现
● 健康检查
● Key/Value存储
● 多数据中心方案
不再需要依赖其他工具(比如ZooKeeper等)

添加依赖

<dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-starter-consul-all</artifactId> </dependency> <dependency> 	<groupId>org.springframework.boot</groupId> 	<artifactId>spring-boot-starter-actuator</artifactId> </dependency> 

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

<!--消息总线,提供配置实时刷新,不再依赖中间件--> <dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-starter-consul-bus</artifactId> </dependency> <!--consul的配置中心功能--> <dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-starter-consul-config</artifactId> </dependency> <!--服务注册和发现功能--> <dependency> 	<groupId>org.springframework.cloud</groupId> 	<artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> 

bootstrap.yml

这里要注意是要配置在 bootstrap.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

下载: https://www.consul.io/downloads.html
使用:(dev模式,生产建议cluster模式)

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

生产配置参考:
https://www.consul.io/intro/getting-started/join.html
http://127.0.0.1:8500/ui/ 去访问 image

配置config

image

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 

总结

  1. 相较于spring cloud config 的配置中心,使用起来较为麻烦,但是对于实时刷新,这块要优于spring cloud config 的,不依赖于中间件的消息通知,也不会出现服务下线的问题。
  2. 这篇文章主要是入门,更高级的使用Consul Config 结合 Git 来做版本控制,请参考我后边的文章
  3. 关于pig:基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台,支持账号、短信、SSO等多种登录,提供配套视频开发教程

本文发表于2018年03月14日 22:38
(c)注:本文转载自https://my.oschina.net/giegie/blog/1634479,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2329 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1