背景:开发评价新功能,根据业务判断,我们需要把主体代码逻辑写在B服务(evaluation评价项目),但是在B服务使用的过程中,我们需要调用A服务(task任务项目)中的暴露的dubbo接口,在B服务提供的接口中,又需要调用A服务中的暴露的dubbo接口。
为什么要调用dubbo接口:微服务的解耦,每个服务都是负责一块单一的功能
本次开发涉及项目的一个库,涉及N个表,根据代码规范,表1表2等表的各种CRUD操作全部在A服务(task任务项目)中,表3表4等表的各种CRUD操作全部在B服务(evaluation评价项目)中。在A服务中查B服务下的表时要使用dubbo接口从B服务拿数据,在B服务下查A服务下的表时,也要掉dubbo接口从A服务拿数据。
如何互相提供dubbo接口:
开发过程中:A服务[task项目]给B服务[evaluation项目]提供dubbo接口;B服务[evaluation项目]消费接口
B服务[evaluation项目]给A服务[task项目]提供dubbo接口;A服务[task项目]消费接口
主要实现:
【在A服务下】
A服务提供dubbo接口给B服务:
接口路径
org.yungu.evaluation.api.service.EvaluationScoreCorrectionPermissionCheckApiService
提示:暴露的接口都在EvaluationScoreCorrectionPermissionCheckApiService中
实现类:
org.yungu.teaching.task.biz.service.impl.evaluation.EvaluationScoreCorrectionPermissionCheckApiServiceImpl
提示:暴露的接口的实现都在EvaluationScoreCorrectionPermissi