鍍金池/ 問答/Java  Linux  HTML/ 微服務(wù)中服務(wù)之間數(shù)據(jù)校驗(yàn)

微服務(wù)中服務(wù)之間數(shù)據(jù)校驗(yàn)

微服務(wù)之間服務(wù)的數(shù)據(jù)校驗(yàn),是否每次處理都需要校驗(yàn)還是可以容忍一定的數(shù)據(jù)錯(cuò)誤?

描述

服務(wù) A 用戶模塊
服務(wù) B 評論模塊

問題描述

服務(wù)B 在創(chuàng)建 評論的時(shí)候,需要用戶到用戶ID 用戶名 以及其他的一些基本用戶信息, 這些信息都是通過前臺(tái)作為參數(shù)傳入后臺(tái), 不過是否需要在創(chuàng)建時(shí)通過用戶ID 到服務(wù)A 中校驗(yàn)此用戶是否存在??? 還是直接插入數(shù)據(jù)庫 不加校驗(yàn)? 這樣就會(huì)造成可能當(dāng)前這個(gè)用戶在系統(tǒng)中并不存在, 但是卻可以創(chuàng)建評論,造成評論系統(tǒng)有錯(cuò)數(shù)據(jù) ? 這種情況如何處理??????

回答
編輯回答
氕氘氚

當(dāng)你寫一系列函數(shù)的時(shí)候,大概是不會(huì)每一個(gè)函數(shù)都去全部校驗(yàn)參數(shù)是否是符合這個(gè)函數(shù)的上下文的,因?yàn)檫@個(gè)函數(shù)可以認(rèn)為從上一個(gè)函數(shù)傳過來是經(jīng)過了上一個(gè)函數(shù)的校驗(yàn)的。
服務(wù)B是否需要校驗(yàn)全部參數(shù),取決于服務(wù)B是否是內(nèi)部服務(wù)還是外部服務(wù),是否直接和客戶端打交道。如果是,那么肯定要完善的校驗(yàn);如果不是,那么取決于上一個(gè)服務(wù)是否做了完善的校驗(yàn),以及是否有多個(gè)業(yè)務(wù)系統(tǒng)需要使用本服務(wù)。

2018年8月5日 18:30