在rPi 4(8gb)上运行多个Docker容器

在rPi 4(8gb)上运行多个Docker容器,docker,raspberry-pi,raspbian,docker-networking,raspberry-pi4,Docker,Raspberry Pi,Raspbian,Docker Networking,Raspberry Pi4,我想为rPi 4B 8GB编写一个应用程序,它提供一系列不同的功能。它从2个独立的服务器(1个视频,1个是通过LAN提供的控制数据)中提取2个独立的websocket流,然后使用第2个流中的数据向房屋周围的卫星节点(如飞利浦顺化桥、宜家Tradfis、esp8266s、es32s等)广播或单播UDP数据包。rPi将在kiosk模式下运行,因此需要一个主应用程序作为GUI 不幸的是,我需要能够在我的局域网上与一堆不同的客户机交谈,这需要我使用相似数量的SDK(所有SDK都用不同的语言编写) 现在我

我想为rPi 4B 8GB编写一个应用程序,它提供一系列不同的功能。它从2个独立的服务器(1个视频,1个是通过LAN提供的控制数据)中提取2个独立的websocket流,然后使用第2个流中的数据向房屋周围的卫星节点(如飞利浦顺化桥、宜家Tradfis、esp8266s、es32s等)广播或单播UDP数据包。rPi将在kiosk模式下运行,因此需要一个主应用程序作为GUI

不幸的是,我需要能够在我的局域网上与一堆不同的客户机交谈,这需要我使用相似数量的SDK(所有SDK都用不同的语言编写)

现在我有三个选择

  • 为低级API创建包装器,并尝试编写一个大型多线程应用程序
  • 去死SDK,写我自己的服务器,遵循它们的消息传递协议
  • 将我的应用程序的每个部分封装起来,并通过docker网络进行信息交流
  • 你可以想象,(3)绝对是最简单、最快的。显然,一个更持久的解决方案是创建一个无缝的应用程序,但考虑到我处于快速开发模式,我不想让自己在构建如此复杂的东西时放慢速度(单是单元测试就需要数百小时)

    因此,我的问题如下:我是否会通过使用单独的容器来拉取视频提要、拉取其他websocket提要以及使用虚拟容器将信息发送到外围客户机(每个容器对应于每个SDK)来过度使用RPI4b

    我担心的一个问题是,通过内部docker网络流动的大量数据可能会干扰我从NIC提取数据并拥有响应GUI的能力

    我觉得这是一个笨重的解决方案,但如果可行的话,发布OTA更新并根据需要添加模块将非常好