苏州市建设安全监督局网站,导入到wordpress,项目网络计划图怎么画,wordpress字体图标4.6版jxTMS已经发布#xff0c;升级了多个重大能力#xff0c;本系列文章将逐一进行讲解。
docker版本的使用#xff0c;请查看#xff1a;docker版jxTMS使用指南
4.0版jxTMS的说明#xff0c;请查看#xff1a;4.0版升级内容
4.2版jxTMS的说明#xff0c;请查看升级了多个重大能力本系列文章将逐一进行讲解。
docker版本的使用请查看docker版jxTMS使用指南
4.0版jxTMS的说明请查看4.0版升级内容
4.2版jxTMS的说明请查看4.2版升级内容
4.4版jxTMS的说明请查看4.4版升级内容
本系列文章包括
数据采集系统的分布式处理
数据总线
数据采集系统的高可用性
用命令行开关动态启动功能模块
取代本地文件而使用网络化配置
配置化方式提供设备数据
动态加载与更新模块
webSocket
之前的数据采集由于频率低【秒级或百毫秒级】一天也就10万左右的数据量基本没啥压力所以考虑到方便数据采集系统的架构为standalone构型。
但近来笔者遇到一个高频采集与处理的需求而python有一个天然的限制GIL【全局锁】。所以笔者不得不开始考虑将数据采集系统的standalone构型变更为分布式构型。
增加分布式处理能力主要思路就两个方向 横切将处理对象切分为几个片每个片交给一个子系统进行处理 纵拆将处理过程拆分为几个环节各环节分别交不同的系统进行处理
就jxTMS的数据采集系统来说数据主要通过mqtt推送所以只要采取不同子系统订阅各自的主题就可以轻松实现横切。实现这种横切有两种方法
1、通配符预置利用mqtt的主题通配符能力通过规范站点命名的方式来实现横切
这一方案的优点就是简单不需要任何额外的开发只需要做好站点命名的规范化管理就可以了。
缺点就是不够灵活无法适用于动态的、弹性的、可伸缩的应用场景下。
2、动态配置可以基于数据总线简单实现一个配置中心由配置中心根据预先的配置、算法、人工干预等多种手段来实现针对性的配置从而对不同子系统需要订阅的主题进行动态的调整
这一方案的优缺点恰好和通配符预置相反。
由于横切的技术特性较少所以我们暂不讨论我们主要考虑纵拆。
之前我们在讨论jxTMS的数据采集框架时曾经指出应当把数据采集和数据的应用拆开以避免数据的加工与应用对采集、解析、转换、保存的过程产生干扰。
当时我们采用的机制就是本地数据总线。
所以4.6版jxTMS解决数据采集系统分布式处理的关键就是改造本地数据总线使其依托消息总线成为跨进程、跨服务器的数据总线。
数据采集系统是在原有的jxTMS体系中通过catalogService体制实现的扩展。原本的这些扩展都考虑为standalone构型的单一功能现在这个扩展进一步发展为分布式构型后也需要做一定的适应性调整如 以命令行开关的方式动态调整所需启动的功能模块 将本地配置文件的静态配置调整为配置中心的可编程动态配置 支持高可用性
除此之外还增加了几个小功能。
参考资料
jxTMS设计思想
jxTMS编程手册
下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能
如何用jxTMS开发一个功能
下面的系列文章讲述了jxTMS的一些基本开发能力
jxTMS的HelloWorld