Nacos通过LoadBalanced实现负载均衡远程调用
This commit is contained in:
@@ -18,6 +18,15 @@
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
|
@@ -23,6 +23,7 @@ public class WebConfiguration {
|
||||
OAuth2ClientContext context;
|
||||
|
||||
@Bean
|
||||
@LoadBalanced
|
||||
public OAuth2RestTemplate restTemplate(){
|
||||
return new OAuth2RestTemplate(new ClientCredentialsResourceDetails(), context);
|
||||
}
|
||||
|
@@ -37,9 +37,9 @@ public class BorrowServiceImpl implements BorrowService {
|
||||
List<Borrow> borrow = mapper.getBorrowsByUid(uid);
|
||||
//这里通过调用getForObject来请求其他服务,并将结果自动进行封装
|
||||
//获取User信息
|
||||
User user = template.getForObject("http://localhost:8101/user/" + uid, User.class);
|
||||
User user = template.getForObject("http://userservice/user/" + uid, User.class);
|
||||
//获取每一本书的详细信息
|
||||
List<Book> bookList = borrow.stream().map(b -> template.getForObject("http://localhost:8201/book/" + b.getBid(), Book.class)).collect(Collectors.toList());
|
||||
List<Book> bookList = borrow.stream().map(b -> template.getForObject("http://bookservice/book/" + b.getBid(), Book.class)).collect(Collectors.toList());
|
||||
return new UserBorrowDetail(user, bookList);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user