1.1. 一、说明。
根据springcloud官方文档。
的说明,可以使用 Feign
、Spring RestTemplate
、DiscoveryClient
等消费consul中注册的服务。
下面就使用RestTemplate做一个简单的消费项目。
1.2. 二、新建consul-consume服务消费项目。
1.2.1. 1、pom.xml的内容。
和服务注册端没什么变化。
<!--web服务器-->
<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>
<!--服务注册-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
1.2.2. 2、bootstrap.yml的配置。
和服务注册端没什么变化,就改了个端口。
# 服务的端口
server:
port: 8181
spring:
application:
# 服务名
name: consul-consume
cloud:
consul:
host: localhost
port: 8500
1.2.3. 3、服务调用的代码。
调用myTestService服务的/hello
端口。
@SpringBootApplication
@RestController
public class ConsulConsumeApplication {
public static void main(String[] args) {
SpringApplication.run(ConsulConsumeApplication.class, args);
}
@LoadBalanced
@Bean
public RestTemplate loadbalancedRestTemplate() {
return new RestTemplate();
}
@Autowired
private RestTemplate restTemplate;
@RequestMapping("/")
public String home() {
return this.restTemplate.getForObject("https://myTestService/hello", String.class);
}
}
1.2.4. 4、访问端口,调用服务。
分别启动服务提供方,调用方。访问consul的界面 http://localhost:8500/ 可以看到2个服务已经注册。 然后访问http://localhost:8181/,可以看到访问成功。