一、服务模块的设计方式
模块调用链:controller->facade->biz->dao
二、服务模块的接口类型
2.1 简单的数据查询接口
controller.facade、dao(例根据Id查询记录)
2.2 带业务逻辑的数据查询接口
controller、facade、biz、dao(复杂的查询,带业务逻辑)
2.3 简单的数据写入接口
controller、facade、dao(简单数据插入)
2.4 带业务逻辑的数据写入接口
controller、facade、biz、dao(有业务逻辑的数据处理)
2.5 同步接口、异步接口
控制业务操作逻辑的幂等性。
三、SOA服务化接口设计原则
3.1 服务接口尽可能大粒度
- 每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将地面临分布式事务问题,
- Dubbo暂未提供分布式事务支持,同时可以减少系统间的网络交互