微服务体系结构建议每个服务应该处理自己的数据。因此,任何依赖于其他服务(服务 B)拥有的数据的服务(服务 A)不应通过直接数据库调用而是通过第二个服务(服务 B)提供的 API 访问这些数据。
那么,微服务最佳实践对检查外键约束有什么建议呢
示例: 我正在为产品开发一个交付特性(微服务1) ,并且某些产品只能交付到产品表中提到的某些位置,只能访问产品微服务(微服务2)。
如何确保微服务1(即交付特性)不会将订单传送到未提供服务的位置。我有这个问题是因为交付特性不能直接访问产品数据库,所以当交付订单放入到交付数据库时,在 DB 级别没有适用的约束(不可能检查产品数据库或表中是否存在外键匹配)。