前言
微服务之间的服务和服务之间如何调用?框架集成如下所述
服务内部之间远程调用,初步思路:不走网关、直接服务间调用、抽取公共API方法
如上图所示:
1.所有的服务注册到注册中心Nacos中
2.对于核心服务或者需要远程调用的方法抽取到API模块
3.API模块配置调用服务名称(在Nacos获取真实服务地址)
4.服务之间调用通过API模块调用
一、集成步骤
1)pom引入limp-cloud-api 包
<dependency>
<groupId>cn.net.gla</groupId>
<artifactId>limp-cloud-api</artifactId>
<version>${limp-cloud.version}</version>
</dependency>
注:${limp-cloud.version} 在主pom定义,用来控制各个模块统一版本,避免版本升级带来的时间浪费 主pom <!--定义limp-cloud版本--> <limp-cloud.version>1.0</limp-cloud.version>
2)启动类加上EnableFeignClients注解
@EnableFeignClients(basePackages= {"cn.net.gla.cloud"})
3)调用远程方法
@RestController
public class TestHello {
//注入service
@Autowired
CacheClientService cacheClientService;
@RequestMapping(value = "hello")
public String hello(){
//远程调用,设置缓存
cacheClientService.setCache("test-key","bdos-yiqing",1000L);
//远程调用,获取缓存
String str= cacheClientService.getCache("test-key");
return "success"+str;
}
}
注入service,调用即可
二、测试
访问测试方法,远程调用成功