是否可以设计一个基于微服务的体系结构,在该体系上每个微服务都具有单独的独立数据库和公共用户表?

最佳答案

不建议在微服务之间共享数据库或表。他们应有明确的明确职责,应仅使用网络进行通信;该协议必须隐藏微服务内部使用的技术:例如,您可以使用JSON进行请求/响应。

您这样做的原因是,微服务不应该依赖于另一个微服务的技术,因为微服务应该容易地替换为使用其他技术堆栈但可以实现相同目的的其他微服务。

如果您需要另一个微服务中的数据,则可以进行以下操作:


同步调用:这更易于实现,但容易发生级联故障
异步调用:难以实现,但会导致系统更具弹性

关于architecture - 具有普通用户的微服务表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45111662/

10-09 18:49