springcloud-服務的生產者和消費者
阿新 • • 發佈:2021-06-25
-
provider 服務生產者環境的搭建
匯入相關依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
配置yml檔案
server
編寫主啟動類
-
consumer服務消費者的搭建
##服務的搭建和配置和生產者一致##
呼叫方式:Ribbon 和 Feign 兩種
匯入ribbon相關的依賴
<!-- ribbon -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
Ribbon呼叫方式:
//編寫RestTemplate配置,並配置負載均衡機制預設是輪詢(這樣可以直接通過服務名去呼叫)
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
//呼叫示例:
@RestController
public class DeptConsumerController {
@Resource
private RestTemplate restTemplate;
@Resource
private DiscoveryClient client;
//服務的生產者的服務名
private static final String REST_URL_PREFIX = "http://springcloud-provider-dept";
@GetMapping("/consumer/dept/get/{id}")
public Dept get(@PathVariable("id") Long id) {
Dept dept = restTemplate.getForObject(REST_URL_PREFIX + "/dept/getById?id=" + id, Dept.class);
return dept;
}
}
Feign 呼叫方式:
//主啟動類中需要開啟Feign相關的配置