代码之家  ›  专栏  ›  技术社区  ›  A O

微服务-聊天服务和用户服务,客户了解与聊天信息相关的用户名/照片的最佳方式是什么?

  •  0
  • A O  · 技术社区  · 4 年前

    这里的答案和我想要的最为相似: 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 . 用户不使用用户名/照片 反恐精英 一点也不,只是在客户那里。

    在我们的场景中,我们希望构建一个性能非常好的聊天系统,在这个系统中,客户端可以在聊天室中看到用户的加入/离开,以及他们的消息(包括用户名和照片)


    所以我们认为也许有两个更好的解决方案?

    1. 客户机有一份他们的用户信息,当他们注册到 ,他们将传递他们的用户信息和 反恐精英 反恐精英 反恐精英 可以引用缓存,然后向客户端发送消息+用户名/照片

    主要问题: 美国

    1. 反恐精英 缓存用户名/照片时,每个客户端都会缓存这些值。因此,如果客户端发送聊天信息,它将转到 反恐精英 userId 然后客户端将引用其本地缓存来查找的用户名/照片 美国 为了得到这些信息

    主要问题: 客户端需要向 加载用户信息。另外,如果平台有成千上万的用户,我们谈论的是管理客户端上的大量缓存。然而,从理论上讲,这将减少负载 反恐精英 美国


    其他想法:

    如果用户更改了用户名,聊天服务最终需要知道。如果客户正在注册他们的信息,他们需要通知 反恐精英

    或者如果 反恐精英 每次用户更改用户名时,它都需要获得一个刷新事件


    0 回复  |  直到 4 年前
        1
  •  0
  •   Pierre Sevrain    4 年前

    解决方案2最适合我,我们有一个强大的缓存(CDN?),尤其是图片。