Graph 在微服务中监视系统状态的体系结构

Graph 在微服务中监视系统状态的体系结构,graph,microservices,Graph,Microservices,我正在尝试构建一个服务,它将以图形结构监视当前系统状态。例如,如果userA在userB上订阅并与其聊天,则该图应包含下一个关系: A--订阅-->B A--与-->B聊天 B--与-->A聊天 如果用户退出聊天,则应删除该关系 此外,应该引入新的微服务,这样就不能实现硬编码决策(比如支持关系子集) 主要问题是数据的一致性和不能硬编码的新关系 我想知道是否有任何解决方案或库可以帮助我解决这个问题。任何建议都将不胜感激。听起来您的系统应该支持事件驱动的体系结构。例如,任何可能与系统其他部分相关的操

我正在尝试构建一个服务,它将以图形结构监视当前系统状态。例如,如果userA在userB上订阅并与其聊天,则该图应包含下一个关系:

A--订阅-->B

A--与-->B聊天

B--与-->A聊天

如果用户退出聊天,则应删除该关系

此外,应该引入新的微服务,这样就不能实现硬编码决策(比如支持关系子集)

主要问题是数据的一致性和不能硬编码的新关系


我想知道是否有任何解决方案或库可以帮助我解决这个问题。任何建议都将不胜感激。

听起来您的系统应该支持事件驱动的体系结构。例如,任何可能与系统其他部分相关的操作都应记录在事件队列中。因此,现在,每当您的图形服务准备好更新时,它都可以将事件队列读取到底,并更新自己的状态。这将是一个尽可能地解耦的解决方案,能够应对数据丢失或其他潜在问题


通常,人们使用ApacheKafka之类的技术来实现一个简单、轻量级、快速的事件队列。它允许您定义队列(称为主题)和处理主题的使用者。请参阅。

听起来您的系统应该支持事件驱动的体系结构。例如,任何可能与系统其他部分相关的操作都应记录在事件队列中。因此,现在,每当您的图形服务准备好更新时,它都可以将事件队列读取到底,并更新自己的状态。这将是一个尽可能地解耦的解决方案,能够应对数据丢失或其他潜在问题


通常,人们使用ApacheKafka之类的技术来实现一个简单、轻量级、快速的事件队列。它允许您定义队列(称为主题)和处理主题的使用者。请参阅。

您是否尝试将关系存储为图形或在微服务之间进行通信?我有一系列微服务(聊天、用户服务、文件存储等),其中每个都有一些关系(用户订阅了其他用户,用户在类别中,等等)。我的任务是构建一个公共图,表示所有微服务中的所有实体以及它们之间的关系。您是否尝试将关系存储为图形或在微服务之间进行通信?我有很多微服务(聊天、用户服务、文件存储等),其中每一个都有一些关系(用户订阅了其他用户,用户在类别中,等等)。我的任务是构建一个公共图,表示所有微服务中的所有实体以及它们之间的关系。谢谢。CQR和事件源是完美的解决方案。谢谢。CQR和事件源是完美的解决方案。