SpringCloud学习之路-整合Eureka,Feign实现项目分层
1.项目分层
将api层单独拎出来打包,供给producer还有consumer使用,外界无法获知service的具体实现,实现在producer中,通过consumer暴露接口给外部使用
在项目中使用到eureka服务注册与发现,feign服务的调用
2.项目结构
cloud-eureka就是我们的服务注册中心,用来注册我们的producer和consumer
cloud-api是api接口,只提供接口不提供实现,通过feign来实现接口调用
cloud-core就是producer,服务提供者,具体的实现类
cloud-web就是consumer,通过web层访问我们的接口,通过api得到具体的实现
3.具体流程
1.调用者访问web层的接口
2.通过注入service,调用service的方法来到我们的api层
通过@FeignClient注解中的服务名,服务调用,到服务注册中心找到produce,在producer中找到service的实现
注意!这里的实现类的注解是@RestController,其实就是一个controller实现了api接口。
在web层的启动类扫描producer的包,确保能找到service的实现
流程大概就是这样