微服务的通讯方式主要有以下几种:
其中,RESTful API 和 RPC 是微服务间最常用的通讯方式,但它们的使用场景又略有不同:
具体实现如下。
@LoadBalanced
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
// 使用时
@Autowired
private RestTemplate restTemplate;
public void callOtherService(String serviceName) {
String url = "http://" + serviceName + "/api/path";
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
}
OpenFegin 引入到项目之后,需要先在 Spring Boot 启动类上添加 @EnableFeignClients 注解,之后使用以下代码就可以实现 RESTful 通讯了:
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(name = "service-provider")
public interface ServiceProviderClient {
@GetMapping("/api/hello")
String hello();
}
RPC 目前主流的通讯方式有以下两种:
本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:Redis、JVM、并发、并发、MySQL、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、设计模式、消息队列等模块。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。