任何外部系統都是不可靠的
假設你要作的是A系統,某個數據須要到B系統去查。考慮到:code
那麼,是否是必須必定
要到B系統呢?能不能作一份數據冗餘呢?將B系統中數據同步到本身系統,這樣,無論B系統怎麼樣,本身系統都不會有問題了。接口
做爲上游,而不是下游。寧肯影響到別人,而不要被別人所影響
若是實在沒法避免系統間依賴,那也儘可能是作爲上游的服務提供方,而非作下游的服務調用方。上游接口錯了,會污染到下游,寧肯作污染的人,也不要被別人所污染。同步
多系統間系統調用是沒法保證數據一致性的。不管是外系統調用你仍是你調用外系統,若是外系統調用你,若是你失敗了,那麼他的數據沒法保證一致;同理,若是是你調用外系統,那麼他的系統失敗了,你的數據就有問題了。產品