【微服务】服务间常见的⼏种调⽤⽅式在平时开发中会⽤到很多种调⽤接⼝的⽅式,今天就来总结⼀下常⽤的⼏种调⽤⽅式。
feign
微服务间可以通过服务名直接调⽤。以nacos的注册中⼼为例
1. 在l⽂件中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. 在启动类中添加@EnableFeignClients
3. 在配置⽂件中配置nacos注册中⼼地址
spring.cloud.discovery.server-addr=nacos-inter.ali:80
4. body体⼏种提交⽅式
包含json、form表单的请求⽅式。
需要在相应的接⼝名称上添加注解:
@FeignCleint(name=nacos-message-access)
其中name代表服务名称
@FeignCleint(name=nacos-message-access)
public interface FeignService{
//使⽤json格式请求,包含请求头
@PostMapping(value="/nacos/test",consumes=MediaType.APPLICATION_JSON_VALUE)
String sendNotice(
@RequestHeader("source) String source,
@RequestParam("param") String param);
//使⽤form表单格式提交的格式请求,包含请求头
@PostMapping(value ="/nacos/urge",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
String sendNotice(
@RequestHeader("source) String source,
@RequestParam("param") String param);
}
}
负载均衡:
其实就是根据负载均衡LoadBalanceClient轮训机制获取到对应的ip和host。
//获取到对应的实例
微服务注册中心有哪些ServiceInstance serviceInstance=loadBalancerClient.choose("nacos-message-access");
//获取主机ip
String Host();
//获取端⼝号
int Port();
String url=“"+host+":"+port+"/nacos/urge";
restTemplate(待补充)
各种请求⽅式的⽐较(待补充)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。