物联网容易失败的原因就是客户化协议,尤其是设备端团队占据主导地位时,特别容易犯这个错误。这个错误的成本是时间,往往以年计算,而且后患无穷。我手头的典型案例中,呼吸机和电子门锁各有一例。
- 呼吸机,定制协议,导致一年时间花费在协议对接上;
- 电子门锁,定制协议,导致一年半时间花费在协议对接上。
如果基于标准的接入标准,如MQTT/CoAP,配合TLS,可以基于开源方案很容易地搭建起来,根据标准协议写起来相对容易。如果是基于Raw TCP/UDP,还要设计合理的安全接入方案,则其中的变更无法避免。由于是应用协议编程,对应的序列化标准化就无法标准化,也必须一起变更。最后工程往往都是失败的。
各种语言都可以协议定制,无论是Netty/Mina/Twisted/Node...这都不是问题。问题在于定制协议真的不如标准协议,尤其体现在工程变更和进度管理这一个关键点上。
现在凡是无法在一个月内对接成功的工程,基本上都可以放弃了。
网友评论