微服务之间远程调用实现思路
项目使用的Spring Cloud Alibaba框架,微服务之间远程调用使用OpenFeign,具体实现步骤如下:
(1)在api工程定义OpenFeign接口,使用@FeignClient注解进行定义。
(2)服务提供方定义OpenFeign接口的实现类,实现具体的逻辑。
(3)服务调用方(客户端)依赖api工程,使用@EnableFeignClients注解扫描Feign接口,生成代理对象并放在Spring容器中。
(4)服务调用方(客户端)定义专门远程调用的客户端类,在客户端类中实现远程调用、熔断、降级逻辑。
使用sentinel实现微服务保护:
使用@SentinelResource注解定义sentinel监控的资源,@SentinelResource注解的属性具体包括。
value: 用于定义资源的名称,即 Sentinel 会对该资源进行流量控制和熔断降级。
fallback :非限流、熔断等导致的异常执行的降级方法
blockHandler :触发限流、熔断时执行的降级方法