问题描述
我们正在为一个类似于社交媒体平台的平台使用微服务,例如让我们为它们命名
当某个用户发布媒体时,媒体服务将存储该用户的 id,类似地,当另一个用户在媒体中被标记时,我们使用 kafka 让通知服务知道它需要发送通知以便通知服务还存储用户的 id,如 x 标记为 y,因此存储 x=123456 和 y=987651。
问题是如果前端请求媒体列表,他们还需要显示创建媒体的用户的姓名。现在,因为媒体服务目前不存储用户名,我们的前端最终通过提供用户 ID 列表并稍后映射它们来对用户服务进行单独的 API 调用来请求用户名(说实话听起来有点不完整)。同样是我们计划构建的通知服务的问题。
现在作为一个解决方案,我想知道我是否可以有一个处理 redis 的服务,存储相关的用户数据[少于用户管理中的实际字段],例如 redis 中的名称或其他一些缓存提供程序,只要有新的用户或用户的更改可以通过 kafka 上的事件中继到缓存管理器。然后诸如发布或通知之类的服务进行 REST 调用以从缓存管理器中获取这些数据。
REST 调用缓存管理器而不是用户管理器的唯一区别是它从缓存中读取并且可能更快。我需要知道是否可以避免内部 http 调用。
其他选项是在所有需要它的微服务中包含冗余的用户详细信息,但这意味着一旦用户详细信息发生变化就立即通知他们。这可能意味着大量数据的变化。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)