1.1. 一、说明。

根据springcloud官方文档
的说明,可以使用 FeignSpring RestTemplateDiscoveryClient等消费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/,可以看到访问成功。

results matching ""

    No results matching ""