使用像这样的akka-http是滥用还是某种危险?
在服务器上
def source(consumerOffset: UUID) =
readJournal.eventsByTag(“MyTag", consumerOffset).map(_.asJson)
pathPrefix("stream" / Segment.map(UUID.fromString)) { offset =>
pathEndOrSingleSlash {
get {
complete {
HttpResponse(
StatusCodes.OK,
entity = HttpEntity(ContentTypes.`application/json`, source(offset))
)
}
}
}
}
然后在客户端
Source.single(HttpRequest("http://localhost:9000/stream"))
.mapAsync(1) { r =>
Http().singleRequest(r).map { res =>
res.entity.dataBytes.map(_.parse[Event])
}
}
.flatMapConcat(identity).mapAsync(processEvent)
UPD:
UPD 2:
Akka 2.4.9增加了回应流的能力。并且基本上完全相同,提供一些语法糖。 请参阅docs。
答案 0 :(得分:1)
按顺序回答您的问题:
BytesString
个表示。application/json
)中指定的内容是正确的。