oneman 算是物联网项目。
因为接入设备数量比较多,测试期间已经有几千台活跃的客户端设备。
断断续续折腾几个月,走了很多弯路。目前是用的自定义的 tcp 协议。
因为利润非常低,但是设备数量增速很快,测试期间这几千设备用云服务器,算了一下可能会亏...所以想降低服务器费用。
主要有两个功能:1 设备离线检测 2 其他的功能
tcp 实现的。然后用一个入口文件实现了服务器的伪集群。
设备自己走 http 查询 cdn 上的文件检索自己要连接的服务器地址,然后和对应的 tcp 服务器定期发生一个心跳包。 然后实现了离线检测功能。用的 golang+gnet 。但是需要频繁检查 map 里面对应的设备一些配置情况
走的 tcp 短连接,这个频率不高,对服务器 内存和 cpu 开支很小 但是对服务器下行带宽占用多一些。
服务器这边 最大的性能开支,就是带宽开支和 tcp 大量长连接的内存和 cpu 占用。
我自己有三条宽带都有动态公网 ip ,且不在同一个城市。其中一条宽带还有 ups 和发电机,想用这三条宽带做一个高可用性伪集群。不用云服务。
家宽的,下行带宽够大所以带宽开支可以忽略。 然后存在两个问题,请教。1 、是可否用 arm 手机集群 2 、是家宽的 tcp 并发有什么限制吗?
用 手机主板集成机箱 放一堆手机主板 otg 有线网 跑 arm linux 可行吗? 用 x86 的话多出来的硬件开支和电费 是否值得
不是很明白 cpu 不同架构的性能差距,服务器这边除了维持大量 tcp 连接资源,就是需要频繁查询 map,算是 hash 运算,不知道这两个情况下,arm 是否比 x86 更合适。
手机的 cpu 缓存也比较小,但是不知道同性能下功耗和硬件投入是不是都要比 x86 小很多。
没有多少数据需要写硬盘的。
之前测试过 udp,同时收太多包会丢包。不知道 tcp 有没有限制。因为目前手上 x86 路由器太老了性能不够,自己测试的时候连接数多了开发机还没事,路由器 cpu 先 100%了,也没能测出来。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.