SpringCloud学习之路-整合Eureka,Feign实现项目分层

1.项目分层

将api层单独拎出来打包,供给producer还有consumer使用,外界无法获知service的具体实现,实现在producer中,通过consumer暴露接口给外部使用

在项目中使用到eureka服务注册与发现,feign服务的调用

2.项目结构

SpringCloud学习之路-整合Eureka,Feign实现项目分层

 

cloud-eureka就是我们的服务注册中心,用来注册我们的producer和consumer

cloud-api是api接口,只提供接口不提供实现,通过feign来实现接口调用

cloud-core就是producer,服务提供者,具体的实现类

cloud-web就是consumer,通过web层访问我们的接口,通过api得到具体的实现

3.具体流程

1.调用者访问web层的接口

SpringCloud学习之路-整合Eureka,Feign实现项目分层

2.通过注入service,调用service的方法来到我们的api层

SpringCloud学习之路-整合Eureka,Feign实现项目分层

通过@FeignClient注解中的服务名,服务调用,到服务注册中心找到produce,在producer中找到service的实现

SpringCloud学习之路-整合Eureka,Feign实现项目分层

注意!这里的实现类的注解是@RestController,其实就是一个controller实现了api接口。

在web层的启动类扫描producer的包,确保能找到service的实现

流程大概就是这样