课程概要:
- 分布式项目开发与联调
- 控制管理后台使用
- Dubbo注册中心详解
一、分布式项目开发与联调
接口暴露与引用
在一个RPC场景中 ,调用方是通过接口来调用服务端,传入参数并获得返回结果。这样服务端的接口和模型必须暴露给调用方项目。服务端如何暴露呢?客户端如何引用呢?
接口信息
、模型信息
、异常
暴露接口的通常做法是 接口与实现分离,服务端将 接口、模型、异常 等统一放置于一个模块,实现置于另一个模块。调用方通过Maven进行引用。
自动化构建与协作
当项目越来越多,服务依懒关系越发复杂的时候,为了提高协作效率,必须采用自动化工具 完成 接口从编写到构建成JAR包,最后到引用的整个过程。
流程描述:
- 服务提供者项目发人员编写Client 接口
- push 至远程仓库
- jenkins 构建指定版本
- jenkins Deploye 至私服仓库 nexus
- 服务消费者项目开发人员基于maven 从私服务仓库下载
接口平滑升级:
在项目迭代过程当中, 经常会有多个项目依懒同一个接口,如下图 项目B、C都依懒了项目A当中的接口1,此时项目B业务需要,需要接口1多增加一个参数,升级完成后。项目B能正确构建上线,项目C却不行。
解决办法与原则:
- 接口要做到向下兼容:接口参数尽量以对象形式进行封装。Model属性只增不删,如果需要作废,可以添加@Deprecated 标识。
- 如果出现了不可兼容的变更,则必须通知调用方整改,并制定上线计划。
开发联调:
在项