关于节点间网络数据传输实现方法的技术选择?

2016-08-28 00:02:54 +08:00
 spartawhy117

当前的需求:

现在有个小软件可以收集单个机器(例如笔记本之类的)的功耗信息,在一个局域网下的多个机器下部署这个软件,现在想要实现的是:可以把任意一台机器设为主节点,然后其余是从属节点,这些从属节点周期性的(比如每秒)传输数据(功耗信息)给主节点。传输的数据大小算是很小的吧,必须要传输太多的信息。

当前的软件已经有 linux 版本和 windows 版本,因为有用 QT 作为界面实现的方法,所以现在的想法是最好使用的技术或者说第三方库能够跨平台。目前我还是个网络编程新手,目前我查了一下,大概的实现方法有以下几种:

  1. 基础 socket 编程。使用基础的带有 socket 方法的库,比如 QT 自带的网络功能, boost asio , POCO 等。

  2. RPC 架构。 RPC 的话封装程度更高一些,可能会更好使用。目前有这些产品: RMI , Hessian , protobuf-rpc-pro , THRIFT , AVRO 。

  3. 消息队列。个人猜测可以利用 MQ 中的消息通讯功能实现,但是一样也有很多产品存在,例如 RabbitMQ , Redis , ZeroMQ , ActiveMQ , Jafka/Kafka 。

现在我的疑惑就是不太清楚到底使用哪种技术来实现,选择哪种产品。就我个人而言,我还是希望选择尽量轻量级的第三方库,希望各位老手给点建议。

1055 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/302205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX