任何外部系统都是不可靠的
假设你要作的是A系统,某个数据须要到B系统去查。考虑到:code
那么,是否是必须必定
要到B系统呢?能不能作一份数据冗余呢?将B系统中数据同步到本身系统,这样,无论B系统怎么样,本身系统都不会有问题了。接口
做为上游,而不是下游。宁肯影响到别人,而不要被别人所影响
若是实在没法避免系统间依赖,那也尽可能是作为上游的服务提供方,而非作下游的服务调用方。上游接口错了,会污染到下游,宁肯作污染的人,也不要被别人所污染。同步
多系统间系统调用是没法保证数据一致性的。不管是外系统调用你仍是你调用外系统,若是外系统调用你,若是你失败了,那么他的数据没法保证一致;同理,若是是你调用外系统,那么他的系统失败了,你的数据就有问题了。产品