- 博客(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源码:TbActorMailbox的processMailbox方法处理TbActorMsg消息
基于thingsboard V3.6.4整理。
2025-03-23 10:15:00
101
原创 Vert.x初探
Eclipse Vert.x是一个用于在JVM上构建主动应用程序的工具包。随着工作量的增加,主动应用程序都是可扩展的,当出现故障时也会恢复。主动应用程序具有响应性,因为它通过有效使用系统资源和保护自身免受错误的影响来控制系统。Vert.x由一个庞大的生态系统支持,其中包含编写现代服务时所需的任何东西:一个复杂的网络堆栈、实时数据库驱动器、消息、事件流、摘要、矩阵、争议追踪等。这个框架在国外流行度很高,支持mqtt,http,websocket等多种应用。这里是一个MQTT客户端的例子。
2024-09-17 22:07:32
394
原创 ThingBoard规则链中的消息处理
规则链的实现参考AKKA模型。系统从主题tb_rule_engine.main消费到数据节后,通过Actor进行消息的流转和处理。基于ThingsBoard V3.6.4版本整理。
2024-04-15 16:31:11
311
原创 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
原创 华为云上的一次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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人