我们有以下架构
SQS(源)-> SQS轮询器->我们的业务逻辑->接收器,从SQS删除消息。
这是akka流(我们的业务逻辑有多个阶段)。
现在,我们想通过添加HTTP服务器(而不是Akka HTTP)来扩展此体系结构。
现在我们的服务也有一条路径
HTTP服务器->我们的业务逻辑->接收器,它将完成将来的操作,指示HTTP响应已完成。
现在,每当HTTP请求到来时,我都需要一种机制来调用流。
现在,SQS源实际上是一个长时间运行的线程,该线程调用服务并将消息推送到akka流的其余部分。
我实质上是在尝试创建一个“可调用的” akka源,以便仅当我们收到请求时才触发该源。
我在这里将https://doc.akka.io/docs/akka/2.5/stream/operators/Source/queue.html看作是一种潜在的解决方案,但是它仅在实现了整个可运行图之后才返回要调用的句柄,因此合并SQS轮询器源和HTTP有点难看可调用的来源。
答案 0 :(得分:1)
我认为确实Source.queue
可以成为这里的方法,一次实现流,并从HTTP服务器端点和SQS轮询器向队列提供元素。有什么特别的原因很难分享吗?