【发布时间】:2021-01-11 14:42:51
【问题描述】:
我们有 N 个微服务,其中 N 可以大于 10。这 N 个微服务依赖于主微服务 M。因此,为了改善系统中的延迟,我们在每个微服务 1 - N 中复制有界上下文信息。我想了解更多信息从外部的角度来看,我们是在正确的轨道上还是有另一种方法来处理微服务之间的这种通信。
【问题讨论】:
标签: design-patterns service architecture microservices grpc
我们有 N 个微服务,其中 N 可以大于 10。这 N 个微服务依赖于主微服务 M。因此,为了改善系统中的延迟,我们在每个微服务 1 - N 中复制有界上下文信息。我想了解更多信息从外部的角度来看,我们是在正确的轨道上还是有另一种方法来处理微服务之间的这种通信。
【问题讨论】:
标签: design-patterns service architecture microservices grpc
总而言之,有 N 个微服务,每个微服务都依赖于某些共享上下文。为了提高性能,每个微服务都在本地缓存上下文视图。
复制是否是正确的方法取决于共享上下文的具体情况。分布式系统中本地缓存的好处大致基于以下几点:
在我看来,在以下情况下值得在本地缓存:
在某些设置中,网络调用可能相对较快,处理陈旧上下文的可能性和正确调整本地缓存大小都有其自身的一系列问题。但是,如果 N 个服务需要更高的吞吐量或 M 个出现瓶颈并且数据非常适合缓存,则本地缓存是一种合理的方法。如果需要缓存大量数据或者不想手动处理缓存失效,可以考虑使用分布式缓存服务。
【讨论】: