【发布时间】:2018-05-14 20:11:06
【问题描述】:
我有一个来自消息队列的 Akka 流源,例如 RabbitMq。对于每条我想执行一个 http 请求的消息,将 http 请求映射到一个对象并向下进行。
这是否可以通过使用来自 akka http (Http().outgoingConnection) 的流来实现,还是应该在 map 操作中执行请求?
【问题讨论】:
标签: akka-stream akka-http
我有一个来自消息队列的 Akka 流源,例如 RabbitMq。对于每条我想执行一个 http 请求的消息,将 http 请求映射到一个对象并向下进行。
这是否可以通过使用来自 akka http (Http().outgoingConnection) 的流来实现,还是应该在 map 操作中执行请求?
【问题讨论】:
标签: akka-stream akka-http
这正是Http().outgoingConnection 的用途(如问题中所述):
type MQMessage = ???
val messageToRequest : (MQMessage) => HttpRequest = ???
type ObjectType = ???
val responseToObjectType = (HttpResponse) => ObjectType = ???
val httpHost : String = ???
val messageFlow : Flow[MQMessage, ObjectType, _] =
Flow.map(messageToRequest)
.via(Http().outgoingConnection(httpHost))
.map(responseToObjectType)
【讨论】: