我想问一个与设计相关的问题,因为我们有多个微服务,我们想为它们实现缓存。
有可能让不同的服务访问相同的缓存来设置和从这个缓存中获取数据那么这应该是最好的方法。
假设我们有客户服务用客户数据更新缓存,我们有一个购物车缓存,需要在包含此客户数据的购物车对象中设置此数据,因此对于这种情况,最佳实施方式是什么此
答案 0 :(得分:0)
您可以考虑以下内容,
实现您的CustomerService和CartService(作为微服务)。然后,每当在CartService中创建购物车实体时,它就会向CustomerService发送一个请求(通过消息队列),其中包含识别客户实体所需的信息。将客户数据发送回CartService,可用于丰富购物车实体。
您可能想知道缓存在哪里?好吧,如果仍然需要,您可以在CartService运行的同一节点中实现它作为Singleton服务(我的意思是关闭服务),并在将请求发布到CustomerService之前检查。
最终会有多个缓存在不同的计算机上存储可能相同的客户信息,但这不应该是一个问题(或者在您的情况下?)。