SpringCloud微服务-服务调用与负载均衡

服务提供者:服务注册

1.导入nacos-discovery依赖


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

2.在yml配置文件中编写服务名称和配置nacos地址

spring:
  application:
    name: item-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.70.138:8848 # nacos地址

服务调用者:服务调用与负载均衡

1.导入依赖



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery



    org.springframework.cloud
    spring-cloud-starter-openfeign



    io.github.openfeign
    feign-okhttp



    org.springframework.cloud
    spring-cloud-starter-loadbalancer

2.编写yml配置文件。指定此微服务的名称和nacos地址,开启OpenFeign连接池okhttp。

spring:
  application:
    name: cart-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.70.138:8848 # nacos地址
feign:
  okhttp:
    enabled: true # 开启OKHttp连接池支持

3.在启动类上添加注解@EnableFeignClients,开启OpenFeign功能。

@EnableFeignClients
@SpringBootApplication
public class CartApplication { // ... 略 }

4.编写FeignClient。用@FeignClient注解指定获取哪个的微服务,@XxxMapping注解指定请求方式和路径。

@FeignClient(value = "item-service")
interface ItemClient {
    @GetMapping("/items")
    List queryItemByIds(@RequestParam("ids") Collection ids);
}

5.在Service层注入ItemClient,并调用对应方法实现远程调用

List items = itemClient.queryItemByIds(List.of(1,2,3));

你可能感兴趣的:(spring,cloud,微服务,服务发现)