标题起的有点大,其实内容只是一次简短的谈话。前端
目前咱们的团队有数个服务,难免产生了一些依赖。关于这些,我和一个资深的同事作了些交流。嗯,坦诚的说,是我问的多,说的少。过后以为很受启发,因此这里记录下。后端
有两个service,分别称为A和B。前端调用B建立数据,数据的ID须要保存到A。咱们的分歧时,谁负责发起保存。是前端,在接收到B成功的返回结果后由本身发起保存呢?仍是B端直接在后台保存到A。微服务
我倾向于前端。由于这样A和B之间不存在调用关系,关系简单。后台
他倾向于B,这样减小了前端调用次数,并且,客户端只须要处理不多的逻辑。service
我:应该尽可能减小后台服务之间的调用,减小耦合。数据
他:服务之间原本就是有互相服务的关系的,由于咱们是微服务,每一个服务都是又小又专注而,调用是不可避免的。客户端
我:前端能够负责调用,若是前端可以合理的调度,也能完成相同的功能。vi
他:这就至关于咱们把服务的调度关系暴露给前端,而且,由前端负责调度的准确性。而这些基本的,不可更改的调度,是应该由后端负责整合的。
我:那之后若是服务间调用太多,没法维护,怎么办?
他:若是两个服务调用关系复杂到不可维护,那就应该将他们合并为一个。