官网: https://www.consul.io/docs/introhtml
Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用go语言开发。java
提供了微服务系统中的服务治理、配置中心、控制总线等功能,他们能够单独使用,也可一块儿使用构建全方位的服务网格。 总之,Consul提供了一种完整的服务网格解决方案。git
关键特性:spring
进入下载界面:https://www.consul.io/downloadsdocker
在consul.exe
同级目录中打开控制台,执行:shell
consul --version #查看版本 consul agent -dev #开发者模式启动
直接看这篇文章就行了:Docker安装Consulwindows
<!--SpringCloud consul-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency>
#consul服务端口号 server: port: 8006 spring: application: name: consul-provider-payment #consul注册中心地址 cloud: consul: host: 127.0.0.1 port: 8500 discovery: #hostname: 127.0.0.1 service-name: ${spring.application.name}
@SpringBootApplication @EnableDiscoveryClient public class PaymentConsul8006Application { public static void main(String[] args) { SpringApplication.run(PaymentConsul8006Application.class, args); } }
@RestController @Slf4j public class PaymentController { @Value("${server.port}") private String serverPort; @GetMapping(value = "/payment/consul") public String paymentConsul() { return "spring cloud with consul: " + serverPort + "\t " + UUID.randomUUID().toString(); } }
一样的,咱们但愿将这个服务注册进Consul服务中心。安全
咱们启动PaymentConsul8006Application
,再查看localhost:8500/
:app
pom,yml,启动类注解差不太多,这里就不赘述了,感兴趣能够查看仓库代码:https://gitee.com/tqbx/spring-cloud-learning,以标签的形式详细区分每一个步骤。dom
当咱们同时启动消费者和提供者,Consul中就会注册进两个service。消费者访问localhost/consumer/payment/consul
,将会调用提供者的接口,完成需求。
本系列文章为《尚硅谷SpringCloud教程》的学习笔记【版本稍微有些不一样,后续遇到bug再作相关说明】,主要作一个长期的记录,为之后学习的同窗提供示例,代码同步更新到Gitee:https://gitee.com/tqbx/spring-cloud-learning,而且以标签的形式详细区分每一个步骤,这个系列文章也会同步更新。