自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tizaitian的专栏

某钢铁公司大型ERP项目实践

  • 博客(63)
  • 收藏
  • 关注

原创 windows设置Docker Desktop的内存和CPU占用

打开.wslconfig文件,修改资源占用。打开目录,C:\Users\Administrator;

2025-06-12 19:45:00

原创 spring-cloud-starter-alibaba-sidecar组件介绍

spring-cloud-starter-alibaba-sidecar 是一个用来快速完美整合 Spring Cloud 与异构微服务的框架,灵感来自 spring-cloud-netflix-sidecar。2. 异构微服务调用 Spring Cloud 微服务时,本质是把 spring-cloud-starter-alibaba-sidecar 当网关在使用,经过了一层转发,性能有一定下降。2.另外,其基于 Zuul 1.x ,Spring Cloud 官方明确声明,未来将会逐步淘汰 Zuul。

2025-06-12 10:04:37 201

原创 NIFI在Linux系统中的系统配置最佳实践(性能调优)

修改 /etc/security/limits.conf文件,修改最大文件句柄数。可以参考如下Linux操作系统设置的最佳实践。也有可能需要修改 /etc/security/limits.d/90-nproc.conf,依具体的操作系统为准。NiFi可能会配置大量线程,修改/etc/security/limits.conf文件,修改最大文件句柄数。本篇文章只是Linux操作系统方面的最佳实践,实践中需要结合NiFi自身的配置参数,综合进行调优。大量的流文件在磁盘和内存间进行交换,对性能的影响非常大。

2025-06-11 19:30:00 183

原创 Mybatisplus3.5.6,用String处理数据库列为JSONB字段

如上所示,在新增数据时,就可以将String格式的json字段插入到表中列格式为jsonb的字段。查询时,将从数据库中查询到的字符串显示转换成json即可。

2025-06-10 20:15:00 147

原创 NIFI的处理器:ConsumeMQTT 2.4.0

MQTT Specificaton Version: MQTT版本,下拉选单,默认值是V3 AUTO, 还有v3.1.0, v3.1.1, v5.0;需要注意的时,当NIFI为集群时,可以将该处理器设置为只在主节点运行,否则,可能会出现重复消费的问题。Quality of Service(QoS):下拉选单,0是最多一次,1是至少一次,2是恰好一次;Record Reader:用于将接收到的MQTT消息解析为记录的记录读取器,默认值为空。Topic Filter: 过滤器,用于过滤订阅的主题;

2025-06-10 18:11:35 163

原创 NIFI的处理器:SplitJson 2.4.0

该处理器将JSON文件拆分为由JsonPath表达式指定的数组元素的多个单独的FlowFiles。每个生成的FlowFile都由指定数组的一个元素组成,并传输到关系“split”,原始文件传输到“original”关系。需要知道的是,该处理器支持添加自定义的属性,这样就可以进行一些扩展。比如,当不同类型的设备采集数据通过不同的数据流汇入时,可以对各类型的设备采集数据定义不同的属性值,以在数据流的下游业务系统进行区分。值为$.*时,表示按各个元素进行拆分。Max String Length:支持的最大长度。

2025-06-09 20:30:00 263

原创 长跑赛接力赛模式

长跑赛在每期项目中投入大,发展快,表面效果在开始时优于接力赛。但是由于每期项目会影响之前的项目积累,导致起点低。经历了多期发展后,竟然效果落后于接力赛,而且时间越长,则差距越大。可以理解为,数字化过程中需要考虑避免业务系统的推倒重来。对于旧有的业务系统,要进行迭代优化,逐步提高价值。对于新的业务系统,则要考虑兼容旧系统的功能,在新的领域增加价值。在数字化过程中,存在着长跑赛和接力赛两种模式。代际可以理解为数字化项目的一期,二期,三期。

2025-06-07 12:28:54 215

原创 NIFI 1.28简介

数据流的存在是为了连接一个本质上是大规模分布式的组件系统,这些组件要么松散地设计在一起,要么根本不设计在一起。比如,json、logs、put、query、record、source、consume、delete、get等,使用起来很方便。该版本相较与2.40版本,一个优点是较为成熟,很多第三方产品有基于该版本NIFI的扩展处理器,这样在处理数据集成的时候会很方便,减少了开发量。系统到系统和系统到用户的交互必须是安全的、可信的、可问责的。你总是会得到太大、太小、太快、太慢、损坏、错误或格式错误的数据。

2025-06-07 11:32:30 176

原创 EMQX将社区版和企业版统一到一个强大的 EMQX 平台

教育和非营利用途:经认可的学术机构和注册的非营利组织可以在生产环境中使用 EMQX,不受节点限制,前提是使用是非商业性的,并且不涉及提供 EMQX 即服务。单节点生产用途:允许在生产环境中的单节点实例上运行 EMQX,前提是您不将 EMQX 本身作为商业托管服务提供,也不将其直接嵌入到您销售的商业产品中。商业 SaaS 或托管产品:将 EMQX 或直接基于 EMQX 的服务作为商业托管服务的一部分提供给第三方。商业产品嵌入/分发:将 EMQX 嵌入到销售或商业分发给最终用户的软件或硬件产品中。

2025-05-29 19:30:21 349

原创 NIFI的性能调优

3.平衡 NiFi 内存使用和磁盘 I/O 的关键参数。当队列中的 FlowFile 数量超过此阈值时,NiFi 会将部分 FlowFile 元数据和内容交换到磁盘,以释放内存。关键:将 provenance_repository、content_repository 和 flowfile_repository 分别挂载到独立的物理磁盘或 SSD 上,避免 I/O 竞争。1.增加内存:增加JVM内存分配,以减轻I/O压力。这里只考虑NIFI自身的参数,不考虑操作系统的参数配置。内存充足时,可以增大该值。

2025-05-27 19:42:26 232

原创 NIFI的处理器:RouteOnContent 1.28.1

将正则表达式应用于FlowFile的内容,并将FlowFile的副本路由到正则表达式匹配的每个目标。正则表达式作为用户定义的属性添加,其中属性的名称是关系的名称,值是与FlowFile内容匹配的正则表达式。用户定义的属性确实支持属性表达式语言,但结果被解释为文字值,而不是正则表达式。该处理器根据流文件内容进行匹配和路由,因此它会对性能产生影响,尤其是当文件内容较大时。操作:点击“+”号,即add Property按钮,输入Property name的值为info,表达式值为.*Info.*。

2025-05-22 19:56:32 237

原创 NIFI的处理器:JSLTTransformJSON 2.4.0

使用转换后的内容创建新的FlowFile,并将其路由到“成功”关系。如果JSLT转换失败,则将原始FlowFile路由到“失败”关系。需要注意的是,编译JSLT转换可能相当昂贵。但是,如果在转换中使用表达式语言,我们可能需要为每个FlowFile创建一个新的转换。一种用于测试JSON对象的过滤/检查语言(以(.foo.bar[0],“http://”开头),JSLT是一种完整的JSON查询和转换语言。一种从JSON(.foo.bar[0])中提取值的查询语言,一种用于在JSON格式之间进行转换的转换语言。

2025-05-21 23:45:00 416

原创 NIFI的处理器:ExecuteGroovyScript 2.4.0

如果选择了“转移到失败”并且发生了未处理的异常,则此会话中从传入队列接收到的所有flowFiles都将转移到“失败”关系,并设置了其他属性:ERROR_MESSAGE和ERROR_STACKTRACE。如果选择了“回滚”并且发生了未处理的异常,则从传入队列接收到的所有flowFiles都将受到惩罚并返回。该脚本的性能大约是java语言的10%,性能不高,调试效率也很低,但是编写灵活,使用方便。// 遍历 plc1 和 plc2,并提取每个设备的数据。// 将转换后的数据添加到输出列表。

2025-05-21 23:15:00 438

原创 NIFI的处理器:JoltTransformJSON 2.4.0

该处理器将Jolt规范列表应用于FlowFile JSON内容或指定的FlowFile JSON属性。如果JSON转换失败,则将原始FlowFile路由到“失败”关系。Jolt是一个用Java编写的JSON到JSON的转换库,其中转换的“规范”本身就是一个JSON文档。处理器JSLTTransformJSON是另一个转换库。直觉上语法复杂了一点。

2025-05-21 19:45:07 123

原创 NIFI的处理器:PutDatabaseRecord 2.4.0

这里的配置是MySQL5.6版本的配置。用户可以根据具体的数据库类型和版本,配置合适的URL和驱动类。如果NIFI没有相应的驱动包,可以手工将驱动包拷贝至NIFI的lib目录,重启NIFI后即可使用。PutDatabaseRecord 处理器通过指定的 RecordReader 从输入流文件中读取记录(可能包含多条),将其转换为 SQL 语句并作为单个事务执行。Database Type: 支持MySQL, Oracle, MS SQL, PostgreSQL, Phoenix等数据库。

2025-05-19 19:43:37 344

原创 NIFI 2.40简介及部署

Apache NiFi 是一款易于使用、功能强大且可靠的数据处理与分发系统。它为全球数千家跨行业企业实现了网络安全、可观测性、事件流和生成式 AI 数据管道及分发的自动化。

2025-05-19 19:17:58 235

原创 ThingsBoard3.9.1 MQTT Topic(4)

2.网关发布请求设备属性的topic:v1/gateway/attributes/request。1.网关订阅设备属性的topic:v1/gateway/attributes/response。可以说时,可以请求多个属性值。本章中的主题适用于网关设备。订阅后接收到的响应格式。

2025-05-13 22:02:49 276

原创 ThingsBoard3.9.1 MQTT Topic(3)

字段说明:requestId表示整数的请求流水号,每请求一次+1。说明:设备直连时,查询设备属性后,接收响应的主题。描述:查询设备本身的客户端属性和共享属性。说明:设备直连时,查询设备属性的主题。下列主题用于设备直连平台的场景。client表示客户端属性,描述:查询设备自己的属性。shared表示共享属性。

2025-04-19 11:03:55 158

原创 ThingsBoard3.9.1 MQTT Topic(2)

3.设备直连时,上报给平台的RPC响应,Topic: v1/devices/me/rpc/response/{requestId}2.设备直连时,接受平台下发的指令,Topic: v1/devices/me/rpc/request/+1.网关上报子设备属性的topic:v1/gateway/attributes。说明:json格式,device是网关子设备的名称。

2025-04-17 22:24:00 262

原创 ThingsBoard3.9.1 MQTT Topic(1)

3.设备直连时,上报自身的属性数据,Topic: v1/devices/me/attributes。2.设备直连时,上报自身的遥测数据,Topic:v1/devices/me/telemetry。1.网关转发子设备的遥测信息, Topic:v1/gateway/telemetry。描述:只能上报设备自己的数据。内容是key:value格式的数据。描述:只能上报设备自己的属性。说明:json格式,key是网关子设备的名称。说明:设备直连时,上报遥测数据的主题。说明:设备直连时,上报设备属性的主题。

2025-04-12 22:54:58 344

原创 thingsboard3.9.1编译问题处理

处理方法:手工下载gradle-7.3.3-bin.zip,然后再编译时拷贝到 C:\Users\{系统用户}\.gradle\wrapper\dists\gradle-7.3.3-bin\{随机值} 目录。处理方法:在https://github.com/vercel/pkg-fetch/releases页面下载对应的文件,然后改名放置到C:\Users\Administrator\.pkg-cache\v3.4目录中。处理方法:在pom.xml中,注释插件。处理方法:关掉IDEA,多试几次即可。

2025-04-12 22:46:28 440 1

原创 thingsboard源码:TbActorMsg消息类图

基于thingsboard V3.6.4整理。

2025-03-28 09:00:00 123

原创 thingsboard源码:下行指令处理流程思维导图

thingsboard下行指令流程概要

2025-03-23 10:45:00 108

原创 thingsboard源码:TbActorMailbox的processMailbox方法处理TbActorMsg消息

基于thingsboard V3.6.4整理。

2025-03-23 10:15:00 101

原创 thingsboard类AbstractContextAwareMsgProcessor关系图

个人整理,基于thingsboard V3.4。

2025-03-23 10:00:00 112

原创 Vert.x初探

Eclipse Vert.x是一个用于在JVM上构建主动应用程序的工具包。随着工作量的增加,主动应用程序都是可扩展的,当出现故障时也会恢复。主动应用程序具有响应性,因为它通过有效使用系统资源和保护自身免受错误的影响来控制系统。Vert.x由一个庞大的生态系统支持,其中包含编写现代服务时所需的任何东西:一个复杂的网络堆栈、实时数据库驱动器、消息、事件流、摘要、矩阵、争议追踪等。这个框架在国外流行度很高,支持mqtt,http,websocket等多种应用。这里是一个MQTT客户端的例子。

2024-09-17 22:07:32 394

原创 thingsboard3.6编译遇到的问题

thingsboard

2024-09-17 21:47:18 226

原创 ThingsBoard中的设备状态 3.6.4

ThingsBoard 设备状态

2024-07-23 21:00:00 635

原创 Minio本地实现HTTPS请求二

minio,https

2024-05-17 17:52:19 355

原创 Minio实现本地HTTPS请求

minio

2024-05-15 10:03:22 1035

原创 ThingsBoard3.6.4-使用WebSocket查询设备的遥测数据

ThingsBoard, WebSocket, 遥测数据

2024-05-10 14:54:11 1317 2

原创 ThingBoard规则链中的消息处理

规则链的实现参考AKKA模型。系统从主题tb_rule_engine.main消费到数据节后,通过Actor进行消息的流转和处理。基于ThingsBoard V3.6.4版本整理。

2024-04-15 16:31:11 311

原创 ThingsBoard V3.6.3 TbActorMsg类图

基于ThingsBoard3.6.3版本整理。

2024-04-11 15:54:27 152

原创 ThingsBoard3.6.3设备属性之服务端属性

在服务端,默认设备10分钟没有上报数据则会话超时,设备离线,无论设备是否上报DisConnect事件。在2.5.4版本中,采用UDP协议时,可能会出现设备频繁的上线、下线问题。服务端属性用于记录设备的在线/离线状态,和连接、活跃、断开连接的时间。

2024-04-02 14:04:06 480 1

原创 ThingsBoard3.6.3 OTA升级功能研究

注意:官方说明中未指明paho-mqtt版本,实测使用高版本会出现不兼容的问题。OTA升级是ThingsBoard3.3版本新增的功能。之前,升级功能只能进行定制开发。则会下载升级包到当前目录。1.在OTA升级页面,点击“添加包”按钮,输入标题、版本、设备配置等字段,上传升级包;2.可以在设备页面的详情中,选择或查看升级包;4.下载脚本mqtt_firmware_client.py;这里以MQTT为例进行示例。3.下载脚本,和脚本依赖;

2024-04-01 13:29:09 689

原创 Thingsboard3.6下行逻辑梳理

2024-03-30 15:11:37 176

原创 Thingsboard TbCoreTransportApiService分析

thingsboard

2022-06-27 16:07:04 249

原创 华为云上的一次kafka集群故障处理

问题现象: 生产者的日志中大量的超时 2022-02-17 09:29:41,692 [kafka-producer-network-thread | monolith-rule-engine-xm2m-IOT-0003] WARN o.t.s.q.k.TbKafkaProducerTemplate - Producer template failure: Expiring 2 record(s) for tb_rule_engine.main.0-0:120000 ms has pa...

2022-02-17 11:12:43 4362

原创 ThingsBoard MQTT API 参考

阅读笔记,原文地址:MQTT | ThingsBoard中文网MQTT是一种轻量级的发布-订阅消息传递协议,它可能最适合各种物联网设备。ThingsBoard服务器支持QoS级别0(最多一次)和QoS级别1(至少一次)以及一组预定义主题的MQTT代理。ThingsBoard支持以JSON格式的key-value字符串,值可以是string、bool、float、long或者二进制格式的序列化字符串.使用令牌凭据对进行设备访问,这些凭证稍后将称为$ACCESS_TOKEN应用程序需要发送用户名

2021-12-20 19:48:08 2456

原创 Quartz使用

Quartz是一个特性丰富的,开源的任务调度库。它几乎可以被集成到任何java应用中,从最小的单体应用到大型的企业级系统。Quartz可支持数千个任务的简单或者复杂的调度,支持集群和JTA事务。Quartz用起来很简单,示例如下。pom.xml配置如下: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu...

2021-03-23 14:30:38 145

接力赛和长跑赛代际示意图

接力赛和长跑赛代际示意图

2025-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除