3

我正在尝试在通过 WiFi 连接的各种设备之间实现通信系统。

桌面(Mac / Win / Linux)用作服务器,而移动电话(Android / iPhone / Blackberry),比如 50 个,将是客户端。

应该有一个客户端 - 服务器以及客户端 - 客户端 2 路通信。

在客户端-服务器通信中,我需要访问服务器中的数据库。在浏览这个时,我发现 ZeroMQ 是一个高性能的异步消息传递库,也是复杂分布式通信系统的更好解决方案。

注意:
是的,我对这种通信和网络完全陌生,但请尝试学习。(猜猜这个事实很好地反映在问题的清晰性中:P)

编辑:
如果 ZeroMQ 似乎不是一个好的选择,建议我使用其他方法来实现这一点。

4

1 回答 1

1

是的,ZeroMQ 是一个伟大而强大的工具

这并不意味着它是用于任何特定项目的最佳工具。

许多其他事实比内置代码和服务原型更重要。

  • 项目在各种目标设备、各自的 O/S 版本、补丁、EoL 维护/不受支持的孤儿院中蔓延范围、移动沙子的潜力
  • 项目计划 / vs 团队已经积累的 { ZeroMQ 和其他工具 } 工艺
  • 服务扩展 - 从 5、50、500、5000+
  • 服务健壮性/{服务&事务}-自愈策略
  • 与缺少任何版本相关的服务风险-{ -control- | -enforcement- }-policy 在松散耦合甚至不受控制的域中
  • 来自(非)-{ -stable | 的服务风险 -available } 语言绑定或包装中介。

一个人总是会学到很多东西,一旦打开 ZeroMQ 视角

有很多观点,这将有助于更好地设计非分布式服务。零拷贝设计规则、性能目标的零共享、(几乎)零延迟、(几乎)(几乎)线性缩放的零开销——这些只是一些原则,如果学习,人们可能会从中受益ZeroMQ 从它的基础零根开始。

我可以指导的最好的下一步是,随意阅读这里的 ZeroMQ 帖子以进行 FF 阅读,不要错过从 Pieter HINTJENS 下载伟大的必读书籍:“ Code Connected, Volume 1 ”。

在了解了 ZeroMQ 观点之后,Nanomsg 或任何其他可用的工具可能会给一个人一些额外的观点(然后一个人成熟并准备好评估基于这些理由要支付的风险/成本)。

于 2017-09-07T15:31:34.180 回答