NO.141 專案研發之測試團隊篇:建立測試用例,管理測試任務。
阿新 • • 發佈:2020-10-09
pom
ribbon的依賴是包含在eureka-client中的
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
application.yml
server: port: 9001 spring: application: name: consumer eureka: client: # 表示是否將自己註冊進入EurekaServer預設為true register-with-eureka: true # 是否從EurekaServer抓取已有的註冊資訊,預設為true # 單節點不會有影響,叢集環境必須設定為true才能配合ribbon使用負載均衡 fetch-registry: true # 註冊到的EurekaServer路徑 service-url: defaultZone: http://localhost:7001/eureka
restTemplate
使用LoadBalanced註解
@SpringBootApplication @EnableEurekaClient public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } @Bean @LoadBalanced //開啟使用ribbon的RestTemplate,預設策略是輪詢 public RestTemplate getRestTemplate() { return new RestTemplate(); } }
使用
通過服務名呼叫,預設是輪詢策略
@RestController
public class AppController {
@Autowired
private RestTemplate restTemplate;
//通過微服務服務名呼叫
private final String PREFIX = "http://PROVIDER";
@GetMapping
public List getAll() {
return restTemplate.getForObject(PREFIX + "/empt", List.class);
}
}