自定义博客皮肤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项目实践

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

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

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

2024-04-15 16:31:11 203

原创 ThingsBoard V3.6.3 TbActorMsg类图

基于ThingsBoard3.6.3版本整理。

2024-04-11 15:54:27 87

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

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

2024-04-02 14:04:06 143

原创 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 222

原创 Thingsboard3.6下行逻辑梳理

2024-03-30 15:11:37 107

原创 Thingsboard TbCoreTransportApiService分析

thingsboard

2022-06-27 16:07:04 185

原创 华为云上的一次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 3840

原创 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 2321

原创 Quartz使用

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

2021-03-23 14:30:38 103

原创 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 256

原创 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 325

原创 温习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&lt

2021-01-06 16:36:28 932

原创 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 62

转载 2020-10-23 kafka 高吞吐量性能揭秘

https://blog.csdn.net/stark_summer/article/details/50144591

2020-10-23 15:50:21 90

原创 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 77

原创 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 104

原创 2020-10-20 重温Flume

Flume是一个实时日志收集工具,具有分布式,高可靠,高可用等特点。接受各类型数据发送方 ,对数据可进行简单的处理,传输到各类数据接收方。目前生产中,使用flume采集请求日志到kafka,然后通过storm读取kafka中的数据保存到数据。1.可靠性当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),

2020-10-20 11:17:57 87

原创 同步屏障CyclicBarrier

同步屏障CyclicBarrier的字面意思是可循环使用的屏障。它要做的事情是,让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。默认的构造方法是CycBarrier(int parties),表示需要达到的线程数。CyclicBarrier可以被重置。示例如下:public class CyclicBarrierTest { public static void main(String[] args) throws Int...

2020-08-05 20:01:40 163

原创 项目管理的几点反思

一. 系统,模块间要划分边界。有时边界不是很清晰,但还是要有所划分的。二.任务要分配的具体的责任人。谁开发,谁验收,大致时间,要明确。三.人员不易频繁的变更。稍微复杂的系统,要保留固定的核心人员负责,不太重要的流程,系统或模块,可以由水平较低的人员负责。变更总是有成本的,人员交接,系统梳理,都需要额外的投入。四.对需求变更,设计变更要有度量。随意的变更,不仅加大工作量,还容易引起开发人...

2020-04-20 23:14:21 289

原创 需求管理

一. 需求口头沟通后,要有文档做确认,归档。后续作为开发的基线。二.需求要按系统,功能,模块进行分解。分解后,模块的开发周期到天,最长不能超过一周。模块间尽可能的减少依赖。如果有依赖,要提前定义接口或功能说明。三.敏捷开发。小步快跑,小规模的分批交付。以周为单位作为开发周期,开发完就进行完整的测试。四.持续集成。构建jenkins等集成测试环境,持续集成。编译问题不过夜。五.定期的...

2020-04-20 23:05:21 135

原创 POI导出大批量的数据生成excel

SXSSF是兼容XSSF的API的流式扩展,用于大量的sheet页生成,并且占用的堆内存空间有限的场景。 SXSSF 通过限制可以访问的表格行数来减少内存的占用,而XSSF则可以访问文档中所有的行。超出限制数量的行不可以访问,因为已经被写到了磁盘上的临时文件中。import junit.framework.Assert;import org.apache.poi.s...

2020-01-16 21:26:42 324

原创 Spring面向切面编程术语

重温术语:通知(Advice):通知定义了切面是什么以及何时使用。可以分为5种类型:前置通知,后置通知,返回通知,异常通知和环绕通知。连接点(Join point): 连接点是在应用执行过程中能够插入切面的一个点。切点(Point): 定义了切面何处使用。切面(Aspect): 切面是通知和切点的结合。织入(Weaving): 织入是把切面应用到目标对象并创建新的代理对象的过程...

2019-09-20 16:10:41 168

原创 @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 117

原创 mysql乐观锁和悲观锁

当两个事务修改同一条数据时,会产生数据不一致的情况。 解决办法:乐观锁或者悲观锁 悲观锁分成两种:共享锁和排他锁。 添加共享锁:select * from db lock in share mode; 添加排他锁:select * from db for update。乐观锁则类似于cap机制。乐观锁的使用件是数据存在标识,对数据的每次修改都会修改标识...

2019-09-10 15:07:51 100

原创 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 74

原创 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 2203

转载 HTTP的请求和响应详解

HTTP的请求和响应详解 HTTP 协议          进行Web开发关键是要了解超文本传输协议(HTTP),该协议用来传输网页、图像以及因特网上在浏览器与服务器间传输的其他类型文件。只要你在浏览器上输入一个URL,最前面的http://就表示使用HTTP来访问指定位置的信息。(大部分浏览器还支持其他一些不同的协议,其中FTP就是一个典

2017-09-12 22:37:17 337

转载 谷歌三大核心技术(一)Google File System中文版

The Google File System中文版译者:alex 摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。   虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和

2017-09-12 22:25:33 343

转载 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 5870

转载 基于ZooKeeper的分布式Session实现

http://www.open-open.com/lib/view/open1325412725125.html

2017-09-11 21:35:24 161

转载 谷歌三大核心技术(二)Google MapReduce中文版

http://www.open-open.com/lib/view/open1328763069203.html

2017-09-11 21:33:20 235

转载 谷歌三大核心技术(一)Google File System中文版

转载路径:http://www.open-open.com/lib/view/open1328763454608.html

2017-09-11 18:48:38 379

空空如也

空空如也

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

TA关注的人

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