我有一个基本的分布式系统,可以计算 Github 存储库所有提交的平均圈复杂度。它由一个运行在 Flask 上的 Master 节点组成,当一组 Worker 节点向 Master 发送 GET 请求时,它会向一组 Worker 节点提供 SHA ID。
我试图用 Docker 进行一些练习,并想将我的 Worker 代码放在 Docker 容器中,然后将该容器放在一组远程机器上,并让 Master 在我的本地机器上运行。我希望 Worker 和 Master 能够相互交流。
我不清楚如何去做。我已经尝试告诉 Worker 节点将他们的请求发送到我的本地机器公共 IP 和 Flask 服务器运行的端口 (5000)。我已经将远程机器的 5000 端口映射到 Docker 容器的 5000 端口。这就是我在这里的知识范围。我将在下面附上一些相关的代码片段,而不是复制粘贴整个程序。
主设置:
if __name__ == '__main__':
get_commits()
TOTAL_COMMITS = len(JOB_QUEUE)
app.run(host='0.0.0.0', port=5000, debug=False)
print('\n-----Shutting Down Server-----')
calc_avg_cc()
Run Code Online (Sandbox Code Playgroud)
工人网址:
master_url = 'http://<my public ip>:5000/'
node_setup_url = 'http://<my public ip>:5000/init'
Run Code Online (Sandbox Code Playgroud)
- - - - - - - - - …
我正在构建一个聊天服务器,该服务器使用自定义协议通过套接字与客户端进行通信。客户端将特定的字符串发送到服务器,并且服务器必须根据这些非标准消息采取适当的措施。我无法更改此协议,也无法访问基础客户端代码。
我的问题是,如果我不知道客户端如何处理其套接字活动,是否可以使用node.js socket.io包为服务器套接字通信供电?我问的原因是,每次阅读socket.io文档时,每当我通过套接字推送任何内容时,“事件”都与每个动作相关联。
是否可以将与此“事件”捆绑在一起的来自服务器的非常精确的消息发送给客户端?我最好使用websockets包吗?