Google cloud platform GCP发布/订阅的架构建议

Google cloud platform GCP发布/订阅的架构建议,google-cloud-platform,google-cloud-pubsub,Google Cloud Platform,Google Cloud Pubsub,我正在我们的应用程序中实现gmail客户端。该应用程序基于具有多个数据库的多租户体系结构,并按子域进行区分。我已经为所需的功能实现了Gmail API,并且正在处理收到的邮件 我用一个主题和一个订阅实现了GCP发布/订阅,每次用户认证时都会查看gmail帐户。当同一封电子邮件在多个租户中进行身份验证时,事情就会变得一团糟。如果电子邮件匹配,它需要调查每个租户,并进行相应更新。此外,如果用户注销,则需要在停止同步之前检查每个租户 我曾想过为每个租户动态创建一个主题。每个主题都有一个指向租户子域的订

我正在我们的应用程序中实现gmail客户端。该应用程序基于具有多个数据库的多租户体系结构,并按子域进行区分。我已经为所需的功能实现了Gmail API,并且正在处理收到的邮件

我用一个主题和一个订阅实现了GCP发布/订阅,每次用户认证时都会查看gmail帐户。当同一封电子邮件在多个租户中进行身份验证时,事情就会变得一团糟。如果电子邮件匹配,它需要调查每个租户,并进行相应更新。此外,如果用户注销,则需要在停止同步之前检查每个租户

我曾想过为每个租户动态创建一个主题。每个主题都有一个指向租户子域的订阅。我知道每个项目有10000个配额限制。不过,要达到这个极限需要很长时间。有人试过吗?你还有其他的建议吗


谢谢

为什么不为每个租户创建一个订阅,然后让每个租户检查他们是否可以处理邮件?嗨@PatrickMagee,我可以为每个租户创建一个订阅。由于电子邮件是按主题观看的,因此每当电子邮件中发生更改时,发布者都会发布到所有订阅。假设有200个租户,它将发布给200个租户。此外,还有一个关于订阅吞吐量的配额。你试过这种方法吗?我想如果我基于租户创建主题,它将只在特定租户上发布。看起来每个主题(以及每个项目)的订阅配额是10k。吞吐量基本为2 G/s。如果您从未想过会有超过2G/s或超过10000个租户,我会选择这种方法。即使你最终会到达那里,你也有可能在一个更好的地方准确地确定你需要什么,这可能是一个与你目前正在实施的解决方案截然不同的解决方案为什么不为每个租户创建订阅,然后允许每个租户检查他们是否可以处理消息?嗨@PatrickMagee,我可以为每个租户订阅。由于电子邮件是按主题观看的,因此每当电子邮件中发生更改时,发布者都会发布到所有订阅。假设有200个租户,它将发布给200个租户。此外,还有一个关于订阅吞吐量的配额。你试过这种方法吗?我想如果我基于租户创建主题,它将只在特定租户上发布。看起来每个主题(以及每个项目)的订阅配额是10k。吞吐量基本为2 G/s。如果您从未想过会有超过2G/s或超过10000个租户,我会选择这种方法。即使你最终会到达那里,你也有可能在一个更好的地方准确地确定你需要什么,而且这可能是一个与你目前正在实施的方案截然不同的解决方案