现在的软件架构设计,不再是将数据中心内部的服务串联起来,和云打通,我们可能要考虑更多IoT设备的接入场景,小到传感器、微控制器,大到汽车、工业生产线等。 当更多的IoT设备需要接入到系统中后,各种异构设计、各种通讯协议等,如果各个设备还是自行治理,那么问题也不是那么严重,当时如果你想将所有的IoT设备整合起来,那么设备间通讯、设备和云服务通讯等等就变得非常复杂,不同的协议适配、转换、安全保障等都非常复杂。 下面我们看一下RSocket能在这个系统做些什么? 图示如下:
在IoT的场景中介入RSocket后,我们会发现一些问题处理就非常简单啦,举例如下:
- 长连接特性: 如果你使用MQTT,并且使用其长连接特性,那么RSocket在长连接处理上的都是一致的,不会给你增加成本。
- 特性丰富: RSocket的通讯协议特性基本都覆盖了各种IoT的通讯需求场景,只需一个协议就可以支持所有的通讯场景
- 适配容易: 借助于RSocket Broker,不同的协议可以在Broker端快速转换,设备间可以调用啦,设备也可以直接和云服务通讯啦,这些都不需要更改之前的架构设计和代码。
RSocket能提供这么的特性,对IoT来说,是不是协议太重量级啦。 事实上不上的,RSocket是基于异步消息的设计,本身就非常轻量级,对IoT设备来说,你可以只使用其中的部分特性或特定的通讯模型,这没有问题,当然RSocket协议还支持扩展,不是一个封死的协议,你完全可以为你的IoT设备再进行协议扩展。