Wie versenden Sie Daten von Kafka-streams an die clients über Websockets in PlayFramework?

Ich bin mit dem Playframework zusammen mit Scala. Ich bin versucht zu verarbeiten von Daten von Kafka, die Daten zu verarbeiten, und drücken Sie dann die Daten per websockets an den client. Leider bin ich noch relativ ein Neuling mit dieser Technik.

Wenn über die Dokumentation, die Sie erwähnt, um zu erstellen ein Schauspieler, wenn Sie erstellen möchten websockets. Code ist unten auf der website. web-socket

import play.api.libs.json.JsValue
import play.api.mvc._
import play.api.libs.streams._

class Controller4 @Inject() (implicit system: ActorSystem, materializer: Materializer) {
  import akka.actor._

  class MyWebSocketActor(out: ActorRef) extends Actor {
     import play.api.libs.json.JsValue
     def receive = {
       case msg: JsValue =>
        out ! msg
     }

     //do i include my kafka consumer here???

  }

  object MyWebSocketActor {
    def props(out: ActorRef) = Props(new MyWebSocketActor(out))
  }

  def socket = WebSocket.accept[JsValue, JsValue] { request =>
    ActorFlow.actorRef(out => MyWebSocketActor.props(out))
  }
}

Meine Frage ist, wo setze ich die Kafka-consumer-code. Lege ich es in den Schauspieler? Ist dies beste Praxis? Der Grund warum ich bin besorgt über die Umsetzung der kafka-Verbraucher ist es so, dass es blockiert werden.

Vielen Dank im Voraus für Eure Hilfe.

InformationsquelleAutor dcart1234 | 2016-05-18
Schreibe einen Kommentar