Im थोड़े नया करने के लिए स्काला और अक्का स्ट्रीम और आईएम की कोशिश कर प्राप्त करने के लिए JSON स्ट्रिंग संदेश से एक websocket और उन्हें धक्का करने के लिए एक काफ्का विषय है ।
अभी के लिए मैं केवल हूँ पर काम कर रहा है "संदेश प्राप्त से एक ws" हिस्सा है ।
आने वाले संदेशों से websocket इस तरह दिखता है :
{
"bitcoin":"6389.06534240",
"ethereum":"192.93111286",
"monero":"108.90302506",
"litecoin":"52.25484165"
}
मैं चाहता हूँ कि विभाजित करने के लिए इस JSON संदेश को कई संदेश :
{"coin": "bitcoin", "price": "6389.06534240"}
{"coin": "ethereum", "price": "192.93111286"}
{"coin": "monero", "price": "108.90302506"}
{"coin": "litecoin", "price": "52.25484165"}
और फिर धक्का इन संदेशों में से प्रत्येक के लिए एक काफ्का विषय है ।
यहाँ है कि मैं क्या हासिल किया है अब तक :
val message_decomposition: Flow[Message, String, NotUsed] = Flow[Message].mapConcat(
msg => msg.toString.replaceAll("[{})(]", "").split(",")
).map( msg => {
val splitted = msg.split(":")
s"{'coin': ${splitted(0)}, 'price': ${splitted(1)}}"
})
val sink: Sink[String, Future[Done]] = Sink.foreach[String](println)
val flow: Flow[Message, Message, Promise[Option[Message]]] =
Flow.fromSinkAndSourceMat(
message_decomposition.to(sink),
Source.maybe[Message])(Keep.right)
val (upgradeResponse, promise) = Http().singleWebSocketRequest(
WebSocketRequest("wss://ws.coincap.io/prices?assets=ALL"),
flow)
यह काम कर रहा im प्राप्त करने की उम्मीद उत्पादन Json संदेश है, लेकिन मैं सोच रहा था कि अगर मैं लिख सकता है इस निर्माता में एक अधिक "अक्का-ish" शैली की तरह, का उपयोग कर GraphDSL. तो मैं कुछ सवाल है :
- यह संभव है करने के लिए लगातार खपत एक WebSocket का उपयोग कर एक GraphDSL ? यदि हाँ, तुम मुझे दिखा सकते हैं एक उदाहरण के के लिए कृपया ?
- यह एक अच्छा विचार है का उपभोग करने के लिए हमें का उपयोग कर एक GraphDSL ?
- चाहिए मैं विघटित प्राप्त Json संदेश की तरह im करने के लिए भेजने से पहले काफ्का ? या यह बेहतर करने के लिए इसे भेजने के रूप में यह है के लिए कम विलंबता ?
- के बाद उत्पादन के लिए संदेश काफ्का, मैं योजना बना रहा हूँ यह उपभोग करने के लिए का उपयोग अपाचे तूफान, यह एक अच्छा विचार है ? या मैं छड़ी के साथ अक्का ?
पढ़ने के लिए धन्यवाद मुझे, संबंध, Arès