这是Dubbo官网对Dubbo的简介,Dubbo在国内是应用非常广泛的服务治理框架,曾经一度停更,后来又重新维护,并从Apache毕业。
在这一节里,我们主要关注它的RPC通信的能力。
这里再额外提一个老生常谈的问题,Dubbo和我们前面用的Feign的区别:
Dubbo在性能上有优势,Feign使用起来更便捷,接下来,我们来一步步学习Dubbo的使用。
=======================================================================
在前面我们使用Feign远程调用实现了一个业务添加商品
,接下来,我们把它改造成基于Dubbo远程调用实现。
我们将原来的eshop-stock
拆成两个子module,eshop-stock-api
和eshop-stock-service
,其中eshop-stock-api
是主要是RPC接口的定义,eshop-stock-service
则是完成库存服务的主要业务。
2.1.1.eshop-stock-api
- 依赖引入,eshop-stock-api主要是接口和实体类的定义,所以只需要引入对common包的依赖和lombok的依赖
cn.fighter3
eshop-common
1.0-SNAPSHOT
org.projectlombok
lombok
true
- 接口和实体定义
StockApiService.java
:这个接口定义了两个方法,在哪实现呢?往后看。
/**
-
@Author 三分恶
-
@Date 2021/11/14
-
@Description 对外RPC接口定义
*/
public interface StockApiService {
/**
-
添加库存
-
@param stockAddDTO
-
@return
*/
Integer addStock(StockAddDTO stockAddDTO);
/**
-
根据商品ID获取库存量
-
@param goodsId
-
@return
*/
Integer getAccountById(Integer goodsId);
}
StockAddDTO.java
:添加库存实体类