Spring Cloud Consul
Проект представляет собой реализацию управления сервисом для Consul. Consul — это распределенная система высокой доступности с распределенной, высокой доступностью и высокой масштабируемостью.
Consul
Consul — это инструмент с открытым исходным кодом, выпущенный HashiCorp, который используется для обнаружения сервисов и настройки распределенных систем. По сравнению с другими решениями для регистрации и обнаружения распределенных служб, решение Consul является более универсальным, со встроенной структурой регистрации и обнаружения служб и обладает следующими свойствами:
● Реализация протокола распределенного консенсуса
● Проверка работоспособности
● Хранение ключей/значений
● Решение для нескольких центров обработки данных
Не нужно полагаться на другие инструменты (такие как 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>
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
установить консула
Скачать: https://www.consul.io/downloads.html
Использование: (режим разработки, режим генерации кластера предложений)
-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/ для посещения
настроить конфигурацию
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
Суммировать
- По сравнению с центром конфигурации весенней облачной конфигурации, его использование более проблематично, но для обновления в реальном времени этот лучше, чем весенняя облачная конфигурация, он не зависит от уведомления о сообщении промежуточного программного обеспечения, и нет проблем с сервис офлайн.
- Эта статья в основном предназначена для начала работы, более продвинутое использование Consul Config в сочетании с Git для контроля версий, пожалуйста, обратитесь к моим более поздним статьям.
- О свинье: на основе Spring Cloud и oAuth2.0 разработайте платформу разработки на основе разделения передней и задней части Vue, поддержите несколько входов в систему, таких как учетная запись, SMS, SSO и т. д., и предоставьте вспомогательные учебные пособия по разработке видео.