我有一个Java应用程序,可以与多个云功能进行交互,而这些云功能需要在事件发生时触发。云功能需要异步触发。我读到Pub / Sub是异步触发Cloud Functions的选项,但是由于某些架构限制,我无法使用它。
我尝试了http触发器,但我需要等到它完成后才能触发其他Cloud功能。
发布/订阅触发还有其他方法吗?
答案 0 :(得分:1)
不是真的。
使用HTTP触发器,客户端应用需要同步等待响应。
对于所有其他类型的功能(包括pubsub触发器),它们都是异步调用的。
不清楚您的“架构约束”是什么。但是您当然可以通过HTTP触发器接受工作单元,然后将其异步委派给pubsub触发器,并返回一些唯一的ID供客户端用来轮询结果(如果需要)。
答案 1 :(得分:1)
Google pubsub可用于您需要异步触发云功能的情况。发布/订阅不保证订购。 Google pubsub适用于不需订购的典型用例。
可以通过HTTP请求触发Google Cloud Functions。但是,HTTP触发器只能同步工作。
尽管pub / sub更适合于异步需求,但仍然可以引入同步支持,但是会牺牲吞吐量/性能。该方法之一是由发送方为消息分配唯一标识符,该标识符可以在接收方进行相应处理。另一种方法是使用云监视,通过跟踪未确认的指标来确定是否还有尚未接收的消息。
但是,如果您的解决方案需要高可用性和可伸缩性,建议您尽量减少对订单的依赖。
发布/订阅触发器的替代方法取决于您面临的确切限制以及体系结构,部署要求。