标题起的有点大,其实内容只是一次简短的谈话。
目前我们的团队有数个服务,不免产生了一些依赖。关于这些,我和一个资深的同事做了些交流。嗯,坦诚的说,是我问的多,说的少。事后觉得很受启发,所以这里记录下。
有两个service,分别称为A和B。前端调用B创建数据,数据的ID需要保存到A。我们的分歧时,谁负责发起保存。是前端,在接收到B成功的返回结果后由自己发起保存呢?还是B端直接在后台保存到A。
我倾向于前端。因为这样A和B之间不存在调用关系,关系简单。
他倾向于B,这样减少了前端调用次数,而且,客户端只需要处理很少的逻辑。
我:应该尽量减少后台服务之间的调用,减少耦合。
他:服务之间本来就是有互相服务的关系的,因为我们是微服务,每个服务都是又小又专一而,调用是不可避免的。
我:前端可以负责调用,如果前端能够合理的调度,也能完成相同的功能。
他:这就相当于我们把服务的调度关系暴露给前端,并且,由前端负责调度的准确性。而这些基本的,不可更改的调度,是应该由后端负责整合的。
我:那以后如果服务间调用太多,无法维护,怎么办?
他:如果两个服务调用关系复杂到不可维护,那就应该将他们合并为一个。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。