官網: 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,而且以標籤的形式詳細區分每一個步驟,這個系列文章也會同步更新。