V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
spartawhy117
V2EX  ›  问与答

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

  •  
  •   spartawhy117 · 2016-08-28 00:02:54 +08:00 · 1112 次点击
    这是一个创建于 3044 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当前的需求:

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

    当前的软件已经有 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 。

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:44 · PVG 22:44 · LAX 06:44 · JFK 09:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.