標題起的有點大,其實內容只是一次簡短的談話。前端
目前咱們的團隊有數個服務,難免產生了一些依賴。關於這些,我和一個資深的同事作了些交流。嗯,坦誠的說,是我問的多,說的少。過後以爲很受啓發,因此這裏記錄下。後端
有兩個service,分別稱爲A和B。前端調用B建立數據,數據的ID須要保存到A。咱們的分歧時,誰負責發起保存。是前端,在接收到B成功的返回結果後由本身發起保存呢?仍是B端直接在後臺保存到A。微服務
我傾向於前端。由於這樣A和B之間不存在調用關係,關係簡單。後臺
他傾向於B,這樣減小了前端調用次數,並且,客戶端只須要處理不多的邏輯。service
我:應該儘可能減小後臺服務之間的調用,減小耦合。數據
他:服務之間原本就是有互相服務的關係的,由於咱們是微服務,每一個服務都是又小又專注而,調用是不可避免的。客戶端
我:前端能夠負責調用,若是前端可以合理的調度,也能完成相同的功能。vi
他:這就至關於咱們把服務的調度關係暴露給前端,而且,由前端負責調度的準確性。而這些基本的,不可更改的調度,是應該由後端負責整合的。
我:那之後若是服務間調用太多,沒法維護,怎麼辦?
他:若是兩個服務調用關係複雜到不可維護,那就應該將他們合併爲一個。