docker版jxTMS使用指南:4.6版升级内容

4.6版jxTMS已经发布,升级了多个重大能力,本系列文章将逐一进行讲解。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/100790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随着 ChatGPT 凭借 GPT-4V(ision) 获得关注,多模态 AI 不断发展

原创 | 文 BFT机器人 在不断努力让人工智能更像人类的过程中,OpenAI的GPT模型不断突破界限GPT-4现在能够接受文本和图像的提示。 生成式人工智能中的多模态表示模型根据输入生成文本、图像或音频等各种输出的能力。这些模型经过特定数据的训练,学习底层模…

【photoshop学习】用 Photoshop 做的 15 件创意事

用 Photoshop 做的 15 件创意事 每个人总是谈论 Photoshop 的无限可能。您可以使用该程序做很多事情,列表几乎是无穷无尽的。 嘿,我是卡拉!如果您花过一些时间使用 在线ps,您可能见过我(并且注意到我提到了这一点&am…

离散优化算法和连续优化算法

主要记录两个问题:第一,离散优化算法和连续优化算法的区别与联系;第二,哪些算法是离散优化算法,哪些算法是连续优化算法? 问题1:离散优化算法和连续优化算法的区别与联系是什么? 离…

WPF向Avalonia迁移(四、其他事项)

开发必备 1. Avalonia项目源代码!!!!!!!!!!没有源代码,你连控件的背景色怎么改都找不着!! 2.下载你所使用的版本&#x…

【AI视野·今日Robot 机器人论文速览 第五十一期】Tue, 10 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Tue, 10 Oct 2023 Totally 54 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers On Multi-Fidelity Impedance Tuning for Human-Robot Cooperative Manipulation Authors Ethan Lau, Vaibhav Srivastava, Sh…

【Proteus仿真】【STM32单片机】汽车倒车报警系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、按键、继电器电机模块、DS18B20温度传感器、蜂鸣器LED、HCSR04超声波等。 主要功能: 系统运行后,LCD1602显…

jmeter 请求发送加密参数

最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256。所以,jmeter发送请求前也需要对uid及json参数进行加密。我这里是让开发写了个加密、解密的jar,jmeter直接调用这个…

解决git push时每次需要输入用户名和密码方法

1、在git push时每次都要输入用户名和密码是一件很痛苦的事,其实解决方法很简单步骤如下: 在项目文件夹(包含隐藏文件夹.git文件夹的)内右键 git bash here在git bash交互环境输入命令 git config credential.helper store 2、这…

Tomcat项目启动报错

java.io.IOException: java.lang.ClassCastException: Cannot cast org.springframework.web.SpringServletContainerInitializer to javax.servlet.ServletContainerInitializer解决办法:可能Tomcat版本不对,使用7.0.90版本启动报错,使用8.0…

【VTK】一文讲解vtkImageActor

很高兴在雪易的CSDN见到你,给你糖糖 系列文章目录 VTK付费专栏_雪易的博客-CSDN博客 感谢订阅的小哥哥小姐姐,小易会继续努力分享,一起进步! 若订阅后有其它需求,欢迎随时联系,CSDN一直在线(^U^)ノ~YO 前言 本文主要讲解vtk的

flutter 常用组件:文本、图片和按钮

文章目录 文本控件富文本控件图片本地图片网络图片按钮文本控件 ##一’码’当先 Text(这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本,textAlign:TextAlign.center,style: TextStyle(fontWeight: FontWeight.bold, font…

【日常】一名开发人员总结的好习惯,欢迎补充

文章目录 前言首先需要考虑(重要)设计和架构代码质量测试和调试性能优化 编程的好习惯代码可读性模块化和重用性单一职责异常处理注释和文档常见的Java编码规范的例子下面是一个示例代码,展示了一些编码规范的应用还有一些其他的编码规范值得…

Ceph入门到精通-iptables 限制多个ip 的多个端口段访问

要使用iptables限制多个IP的多个端口范围的访问,可以使用以下命令: iptables -A INPUT -p tcp -m multiport --dports 端口段 -m iprange --src-range 起始IP-结束IP -j DROP上面的命令将添加一条规则到INPUT链中,该规则将禁止指定IP范围访问…

flutter 判断data是否是list类型,然后获取里面的值

///处理banner data_handlerBannerData(Response response) {if (response.code 0 || response.code 200) {List<BannerModel> list [];if (response.data is List) {//data本来是个对象的&#xff0c;后台返回了个数组&#xff0c;那就判断是否是列表(response.data …

基础架构开发-操作系统、编译器、云原生、嵌入式、ic

基础架构开发-操作系统、编译器、云原生、嵌入式、ic 操作系统编译器词法分析AST语法树生成语法优化生成机器码 云原生容器开发一般遇到的岗位描述RDMA、DPDK是什么东西NFV和VNF是什么RisingWave云原生存储引擎开发实践 单片机、嵌入式雷达路线规划 ic开发 操作系统 以C和Rust…

云原生Docker镜像管理

目录 Docker 概述 Docker是什么 Docker的设计宗旨 Docker的特性 Docker的特性 Docker与虚拟机的区别 容器在内核中支持2种重要技术 Linux 的namespace &#xff08;命名空间&#xff09; Docker核心概念 安装 Docker Docker 镜像操作 #搜索镜像 获取镜像 镜像加速下…

计算机竞赛YOLOv7 目标检测网络解读

文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言 世界变化太快&#xff0c;YOLOv6还没用熟YOLOv7就来了&#xff0c;如果有同学的毕设项目想用上最新的技术&#xff0c;不妨看看学长的这篇文章&#xff0c;学长带大家简单的…

2023年软考网工上半年下午真题

试题一&#xff1a; 阅读以下说明&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸对应的解答栏内。 [说明] 某企业办公楼网络拓扑如图1-1所示。该网络中交换机Switch1-Switch 4均是二层设备&#xff0c;分布在办公楼的各层&#xff0c;上联采用干兆光纤。核心交换…

Jenkins对应java版本

官网地址&#xff1a;Java Support Policy 运行jenkins时,需要使用下列Java版本:

Linux 基本指令及 Xshell 常用热键操作

文章目录 Linux 基本指令入门指令文件/目录 相关文件操作文件基本操作文件处理文件压缩/解压压缩/解压 为 .zip 文件解压/压缩 为.tgz 文件 时间相关指令 Xshell 常用热键Linux系统关机 windows 和 Linux 文件互传/Linux 系统之间文件互传Linux 传入WindowsWindows 传入Linuxli…