基于Spring Cloud Consul的服务注册与发现

运行Consul

以Windows为例,下载解压后,以开发模式运行:

consul agent --dev

启动成功后,可以访问Consul提供的管理页面,默认端口为8500,页面上显示了已注册服务的列表,包括它们的运行状况等信息。

服务注册

1.添加Spring Cloud Consul依赖:

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

2.在服务配置文件中添加Consul配置:

spring:
  cloud:
    consul:
      host: localhost
      port: 8500

3.运行消费者和提供者服务,Consul管理页面将显示对应的服务信息:

服务发现

使用RestTemplate调用服务

@Autowired
RestTemplate restTemplate;

public String getFirstProduct() {
   return this.restTemplate.getForObject("https://服务名/products/1", String.class);
}

要使用RestTemplate别忘了加配置:

@Bean
@LoadBalanced
public RestTemplate restTemplate(){
	return new RestTemplate();
}
posted @ 2020-11-18 17:22  布禾  阅读(188)  评论(0编辑  收藏  举报