我正在遵循微服务架构,在该架构中我们获得了两个独立的服务
(UserService,OtherService)
UserService写入其自己的数据源(mysql和Redis)
客户端向UserService写入更新
另一方面,客户端需要从OtherService获取数据,而UserService需要一些用户状态。
OtherService的延迟和吞吐量非常重要。
几种选择:
当状态更改时,
你们认为正确的做法是什么?
谢谢,
射线。
最佳答案
对于这种情况,我们在被动端和消息队列上使用冗余的只读数据进行通信。我的意思是在其他服务端拥有一个用户状态表,并在消息来自用户服务时对其进行更新。它不会影响OtherService的可用性,性能和可伸缩性。依赖性将几乎为零。该方法唯一可能出现问题的方面可能是用户状态数据的更新。关于新鲜度问题,我一般说的是毫秒。如果对于您而言,新鲜度问题如此重要,那么最好的选择是将两种服务结合起来。