这里的答案和我想要的最为相似:
Microservices â best practices to retrieve the related data to specific user from the other micro services with the minimal memory/time loss
CS
)需要用户信息(比如从UserService[
US
]),它应该保留用户数据的缓存,以便在
反恐精英
被击中了。上的用户信息缓存
反恐精英
美国
主要问题:
美国
可能会更新很多,并且会不断地将事件发送到
反恐精英
更新它的缓存。也适用于中的业务逻辑
反恐精英
,唯一相关的信息是
userIds
messages
. 用户不使用用户名/照片
反恐精英
一点也不,只是在客户那里。
在我们的场景中,我们希望构建一个性能非常好的聊天系统,在这个系统中,客户端可以在聊天室中看到用户的加入/离开,以及他们的消息(包括用户名和照片)
所以我们认为也许有两个更好的解决方案?
-
客户机有一份他们的用户信息,当他们注册到
,他们将传递他们的用户信息和
反恐精英
反恐精英
反恐精英
可以引用缓存,然后向客户端发送消息+用户名/照片
主要问题:
美国
-
反恐精英
缓存用户名/照片时,每个客户端都会缓存这些值。因此,如果客户端发送聊天信息,它将转到
反恐精英
userId
然后客户端将引用其本地缓存来查找的用户名/照片
美国
为了得到这些信息
主要问题:
客户端需要向
加载用户信息。另外,如果平台有成千上万的用户,我们谈论的是管理客户端上的大量缓存。然而,从理论上讲,这将减少负载
反恐精英
美国
其他想法:
如果用户更改了用户名,聊天服务最终需要知道。如果客户正在注册他们的信息,他们需要通知
反恐精英
或者如果
反恐精英
每次用户更改用户名时,它都需要获得一个刷新事件