利用SpringCloud实现微服务, 服务间调用有两种方式,: RestfulAPI 和 Feign
RestfulAPI的好处是简单灵活, 易于使用. 缺点是需要在服务中进行模型解析操作, 消费者无法感知生产者的接口变化.
Feign 可以将http请求封装成Facade接口, 让http调用产生类似函数调用的效果, 在一定程度上提高代码的可维护性.
一. 基本结构
每个微服务分为两个module:
service: 负责接口的具体实现
facade: 负责提供对外调用的接口
服务提供方将 facade 模块打包, 通过maven统一管理.
服务使用方将服务提供方的包添加到 pom.xml 的依赖中, 在代码中直接通过函数调用使用.
二. 代码构建和配置
—— Talk is cheap, show me the code. ——
2.1 服务提供方
增加新的module, 专门提供api用户客户端调用.