- 博客(36)
- 收藏
- 关注
原创 ThingBoard规则链中的消息处理
规则链的实现参考AKKA模型。系统从主题tb_rule_engine.main消费到数据节后,通过Actor进行消息的流转和处理。基于ThingsBoard V3.6.4版本整理。
2024-04-15 16:31:11
240
原创 ThingsBoard3.6.3设备属性之服务端属性
在服务端,默认设备10分钟没有上报数据则会话超时,设备离线,无论设备是否上报DisConnect事件。在2.5.4版本中,采用UDP协议时,可能会出现设备频繁的上线、下线问题。服务端属性用于记录设备的在线/离线状态,和连接、活跃、断开连接的时间。
2024-04-02 14:04:06
287
原创 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
434
原创 华为云上的一次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
4120
原创 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
2353
原创 Quartz使用
Quartz是一个特性丰富的,开源的任务调度库。它几乎可以被集成到任何java应用中,从最小的单体应用到大型的企业级系统。Quartz可支持数千个任务的简单或者复杂的调度,支持集群和JTA事务。Quartz用起来很简单,示例如下。pom.xml配置如下: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu...
2021-03-23 14:30:38
110
原创 elasticsearch7.5 安全设置
一 所有节点上修改配置文件echo "xpack.security.enabled: true" >> elasticsearch.ymecho "xpack.security.transport.ssl.enabled: true" >> elasticsearch.yml二 在cluster.initial_master_nodes中的任一节点上执行如下命令,生成authentication schema和私钥./bin/elasticsearch-cert...
2021-02-22 15:08:03
268
原创 elasticsearch 7.5集群部署
前提条件:1. 已安装jdk1.8或以上版本;2. 已下载安装包:elasticsearch-7.5.1-no-jdk-linux-x86_64.tar.gz;3. 三台服务器:10.1.32.10, 10.1.32.11, 10.1.32.12, root权限。步骤(以10.1.32.10为例):1. 修改系统配置。a) 用户最大可创建文件数,编辑limits.conf配置文件:vi /etc/security/limits.conf然后添加如下内容:...
2021-02-22 15:03:45
333
原创 温习zookeeper3.6.2的curator-client5.1.0
实现了zookeeper上节点的增,删,改,查和监听功能。1.pom.xml配置:<!-- 关于Zookeeper客户端的封装,这里只引用的recipes和client --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>5.1.0<
2021-01-06 16:36:28
972
原创 JVM调优笔记
java内存区域相关异常:1.java.lang.StackOverflowError --栈的深度超过了虚拟机容许的最大深度 --栈内存不够,-Xss2.java.lang.OutOfMemoryError: Java heap space --堆内存不够,内存泄露,-Xmx3.java.lang.OutOfMemoryError: PermGen space --方法区(持久代)使用过大,应用加载class过多,字节码生成技术使用过多 --XX:PermSize,-XX:Max...
2020-10-29 16:10:33
68
转载 2020-10-23 kafka 高吞吐量性能揭秘
https://blog.csdn.net/stark_summer/article/details/50144591
2020-10-23 15:50:21
97
原创 2020-10-23 重温apache storm
Apache Storm 是一款免费并且开源的分布式实时计算系统。Apache Storm使得无边界的流式数据处理非常简单。Apache Storm支持多种编程语言,用起来简单有趣。Apache Storm支持多种应用场景:实时分析、在线机器学习、流式计算、分布式的RPC、ETL等。Apache Storm是快速的,单节点每秒可处理超过100万条tuple。Apache Storm是可伸缩的、容错的、确保数据能被处理,并且易于安装和运维。Apache Storm集成了常用的队列和数据库技术。S
2020-10-23 11:17:37
87
原创 2020-10-20 kafka基本命令
kafka基本命令通过kafka-topics.sh脚本来创建一个名为topic-test1并且副本数为2、分区数为4的topic:bin/kafka-topics.sh --create --zookeeper 192.168.0.2:2181/kafka100 --topic topic-test1 --replication-factor 2 --partitions 4查看topic 属性:bin/kafka-topics.sh --zookeeper zk1:2181 --descri
2020-10-20 19:49:11
115
原创 2020-10-20 重温Flume
Flume是一个实时日志收集工具,具有分布式,高可靠,高可用等特点。接受各类型数据发送方 ,对数据可进行简单的处理,传输到各类数据接收方。目前生产中,使用flume采集请求日志到kafka,然后通过storm读取kafka中的数据保存到数据。1.可靠性当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),
2020-10-20 11:17:57
98
原创 同步屏障CyclicBarrier
同步屏障CyclicBarrier的字面意思是可循环使用的屏障。它要做的事情是,让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。默认的构造方法是CycBarrier(int parties),表示需要达到的线程数。CyclicBarrier可以被重置。示例如下:public class CyclicBarrierTest { public static void main(String[] args) throws Int...
2020-08-05 20:01:40
180
原创 项目管理的几点反思
一. 系统,模块间要划分边界。有时边界不是很清晰,但还是要有所划分的。二.任务要分配的具体的责任人。谁开发,谁验收,大致时间,要明确。三.人员不易频繁的变更。稍微复杂的系统,要保留固定的核心人员负责,不太重要的流程,系统或模块,可以由水平较低的人员负责。变更总是有成本的,人员交接,系统梳理,都需要额外的投入。四.对需求变更,设计变更要有度量。随意的变更,不仅加大工作量,还容易引起开发人...
2020-04-20 23:14:21
301
原创 需求管理
一. 需求口头沟通后,要有文档做确认,归档。后续作为开发的基线。二.需求要按系统,功能,模块进行分解。分解后,模块的开发周期到天,最长不能超过一周。模块间尽可能的减少依赖。如果有依赖,要提前定义接口或功能说明。三.敏捷开发。小步快跑,小规模的分批交付。以周为单位作为开发周期,开发完就进行完整的测试。四.持续集成。构建jenkins等集成测试环境,持续集成。编译问题不过夜。五.定期的...
2020-04-20 23:05:21
142
原创 POI导出大批量的数据生成excel
SXSSF是兼容XSSF的API的流式扩展,用于大量的sheet页生成,并且占用的堆内存空间有限的场景。 SXSSF 通过限制可以访问的表格行数来减少内存的占用,而XSSF则可以访问文档中所有的行。超出限制数量的行不可以访问,因为已经被写到了磁盘上的临时文件中。import junit.framework.Assert;import org.apache.poi.s...
2020-01-16 21:26:42
339
原创 Spring面向切面编程术语
重温术语:通知(Advice):通知定义了切面是什么以及何时使用。可以分为5种类型:前置通知,后置通知,返回通知,异常通知和环绕通知。连接点(Join point): 连接点是在应用执行过程中能够插入切面的一个点。切点(Point): 定义了切面何处使用。切面(Aspect): 切面是通知和切点的结合。织入(Weaving): 织入是把切面应用到目标对象并创建新的代理对象的过程...
2019-09-20 16:10:41
173
原创 @RequestParam和@PathVariable
RequestParam: Annotation which indicates that a method parameter should be bound to a web request parameter.PathVariable: Annotation which indicates that a method parameter should be bound to a URI ...
2019-09-18 17:06:20
121
原创 mysql乐观锁和悲观锁
当两个事务修改同一条数据时,会产生数据不一致的情况。 解决办法:乐观锁或者悲观锁 悲观锁分成两种:共享锁和排他锁。 添加共享锁:select * from db lock in share mode; 添加排他锁:select * from db for update。乐观锁则类似于cap机制。乐观锁的使用件是数据存在标识,对数据的每次修改都会修改标识...
2019-09-10 15:07:51
106
原创 mysql存储引擎比较
存储引擎比较 功能 MyISAM Memory InniDB Archive 存储限制 256TB RAM 64TB None 支持事务 No No Yes No 支持全文索引 Yes No No No 支持数索引 Yes Yes Yes No 支持哈希索引...
2019-08-27 17:50:34
79
原创 centos7 配置网卡及问题处理
cd /etc/sysconfig/network-scripts/vi ifcfg-eno16777736内容如下:HWADDR=00:0c:29:18:ca:06TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAI...
2018-03-29 23:19:09
2224
转载 HTTP的请求和响应详解
HTTP的请求和响应详解 HTTP 协议 进行Web开发关键是要了解超文本传输协议(HTTP),该协议用来传输网页、图像以及因特网上在浏览器与服务器间传输的其他类型文件。只要你在浏览器上输入一个URL,最前面的http://就表示使用HTTP来访问指定位置的信息。(大部分浏览器还支持其他一些不同的协议,其中FTP就是一个典
2017-09-12 22:37:17
359
转载 谷歌三大核心技术(一)Google File System中文版
The Google File System中文版译者:alex 摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和
2017-09-12 22:25:33
362
转载 Google的十个核心技术
http://www.open-open.com/lib/view/open1354780280616.html 本篇将主要介绍Google的十个核心技术,而且可以分为四大类:1.分布式基础设施:GFS,Chubby和Protocol Buffer。2.分布式大规模数据处理:MapReduce和Sawzall。3.分布式数
2017-09-12 22:04:50
6004
转载 基于ZooKeeper的分布式Session实现
http://www.open-open.com/lib/view/open1325412725125.html
2017-09-11 21:35:24
169
转载 谷歌三大核心技术(二)Google MapReduce中文版
http://www.open-open.com/lib/view/open1328763069203.html
2017-09-11 21:33:20
246
转载 谷歌三大核心技术(一)Google File System中文版
转载路径:http://www.open-open.com/lib/view/open1328763454608.html
2017-09-11 18:48:38
397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人