Web spi service 三层的关系和Ereuka 注册中心的关系

web 层是控制器层,主要的作用的是做交互

spi 准确来说不算一层,它是Web跟Service 通信的协议的约定,是service 接口的定义和规定。即对service 的名字,入参,出参,异常处理等的定义和规定。

service 层是业务处理层,主要作用的是对数据的操作,接口的具体实现。

web 层和service 层之间的通信具体是借助spi,即已经定义好的约定进行通信。

 

如图所示,web层通过Spi 定位到Service层地址,通过暴露的接口拿到具体实现方法的地址Map到对应的方法上。

对于Service ,需要将服务注册上Ereuka 注册中心,(在启动类上加EnableDiscoveryClient,通过暴露接口的方式让接口被Ereuka注册中心发现并注册)Service 和Spi 的联系是RequestMapping, Spi 通过RequestMapping 连接到Service的具体实现方法上,同时也定义了方法的入参出参命名等格式。

对于Web,client 方法上的@FeignClient(name="xxxx") 其中的xxxx就是具体实现的Service在Ereuka注册中心上的名字,也就是Web通过这个name 在Ereuka注册中心找到Service 的IP。即让Web 通过@FeignClient 可以到注册中心找到Service 部署的服务器地址,再根据IP地址下的RequestMapping 找到具体方法的实现。

 

Ereuka在Service工程默认是不开启的,即本地跑的方法不会实时地注册上去,其实也不难理解,如果每个开发人员每跑一次本地工程都注册上去,注册中心不就乱套了。因此只有开启配置才会注册上去。相应地如果你的工程中含有远程配置文件,每次本地跑项目都要去到远程配置文件中心拿到配置文件,那就需要配置一个路由,将配置文件中的远程配置引导导本地。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值