我希望使用来自服务器的Web套接字来传输事件,该服务器的地址以:
开头WSS://example.de/Outbound/OutboundInterface
我正在寻找可以使用Apache spark,Apache flink等技术从服务器流式传输事件的选项。
我不确定如何将事件流式传输到我的大学后端项目中。
任何指针都会有所帮助,说明如何继续处理问题陈述。
答案 0 :(得分:1)
解决这个问题的一种方法是编写一个在websocket接口和标准TCP套接字(Apache Spark和Apache Flink都支持)之间桥接的小包装器。这是python中连接到维基百科websocket服务并打印出编辑流的示例:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# sudo pip install socketIO_client==0.5.6
# ./simple.py 2> /dev/null | nc -lk 9999
import socketIO_client
import json
class WikiNamespace(socketIO_client.BaseNamespace):
def on_change(self, change):
print(json.dumps(change))
def on_connect(self):
self.emit('subscribe', 'en.wikipedia.org')
socketIO = socketIO_client.SocketIO('stream.wikimedia.org', 80)
socketIO.define(WikiNamespace, '/rc')
while True:
socketIO.wait(10)
然后您可以通过nc将其转换为Flink,etal可以连接到的套接字(这里我将错误重定向到/ dev / null - 您可能宁愿将它们放在文件中):
./simple.py 2> /dev/null | nc -lk 9999