一 新建项目microservice-sidecar-client-ribbon,添加依赖
<dependencies>
<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-eureka</artifactId>
</dependency>
</dependencies>
二 编写启动类
package com.itmuch.cloud.study;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@EnableDiscoveryClient
@SpringBootApplication
public class SidecarClientApplication {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(SidecarClientApplication.class, args);
}
}
三 编写控制器
package com.itmuch.cloud.study.sidecar.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
public class SidecarClientController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/test")
public String findById() {
// 将会请求到:http://localhost:8060/,返回结果:{"index":"欢迎来到首页"}
return this.restTemplate.getForObject("http://microservice-sidecar-node-service/", String.class);
}
}
四 编写配置文件
server:
port: 8071
spring:
application:
name: microservice-consumer-movie
eureka:
client:
serviceUrl:
defaultZone:http://localhost:8761/eureka/
instance:
prefer-ip-address: true
五 测试
1 启动eureka
2 启动项目microservice-sidecar-client-ribbon
3 启动node-service
4 启动sidecar微服务
5 浏览器访问
http://localhost:8071/test