我正在使用nestjs创建一些微服务。
例如,我有x、y和z服务都通过grpc互连,但我希望服务 x 在特定实体更改时向 webapp 发送更新,所以我考虑了 server-sent-events [对任何其他更好的解决方案开放]。
根据nestjs 文档,他们有一个以n 间隔运行的函数,用于sse 路由,似乎资源枯竭。有没有办法在有更新时实际发送事件。
假设我在同一个服务中有另一个 api 调用,由单击另一个 web 应用程序的按钮触发,我如何触发事件仅在单击按钮时触发,而不是持续发送事件。此外,如果您知道任何惯用的方法来实现这一点,将不胜感激,希望它是最后的手段。
[奖金问题]
我还考虑使用MQTT发送事件。但是我感觉单个服务不可能拥有MQTT 和 gRPC。我对使用 MQTT 持怀疑态度,因为它的延迟以及它将如何影响内部消息传递。如果我可以限制外部客户端,那就太好了(即,x 服务使用 gRPC 进行内部连接,使用 MQTT 进行 webapp 只需要一个由 mqtt 公开的路由)。(PS我是微服务新手,所以请全面了解您的解决方案:p)