- 博客(12)
- 收藏
- 关注
原创 kafka同步涛思数据库数据
"topic.per.stable": false ---每个超表生成一个主题设置位false,这样只会生成一个主题tdengine_db_wind_lwtl2,如果位true每个超表会生成一个主题。"topic.delimiter": "_" ---连接符是_ 这样生成的kafka主题会是tdengine_db_wind_lwtl2。"connection.database": "db_wind_lwtl2" ---连接的是灵武同利2的数据库。--来自百度网盘超级会员v6的分享。
2025-04-02 11:38:58
256
原创 内存网格hazelcast-IMap数据结构使用
分布式的项目中,由于对延时有较大要求,在对几种分布式内存组件的使用调研后,决定使用hazelcast作为分布式缓存,主要使用了组件提供的IMap数据结构,整理如下资料。Hazelcast Map( IMap) 扩展了接口java.util.concurrent.ConcurrentMap ,因此 java.util.Map,它是Java地图的分布式实现。可以使用众所周知的 get 和 put 方法执行诸如从 Hazelcast Map读取和写入 Hazelcast Map等操作。
2025-03-23 19:04:27
906
原创 easyexcel自定义拦截器-自定义合并标题
easyexcel框架导出的时候。可设置属性自动合并标题。由于业务需求,标题是根据配置动态生成的,所以二级标题如果两个同名的靠在一起会导致合并。如图,人次和人次合并在了一起。途中试过把automaticMergeHead设置为false。自定义标题合并策略。实现CellWriteHandler,在afterCellDispose中,遍历每一行标题的单元格。如果和同一行下一格相同则合并。第三行标题不合并。途中发现问题。标题的单元格,通过getsheet...
2025-02-27 16:59:03
3561
1
原创 一套代码内多类型数据库适配方案-人大金仓+mysql示例
我们项目是在主数据源文件PrimaryDataSourceConfig中配置,创建了自定义的工厂类/*** basePackages:接口文件的包路径*//*** 表示这个数据源是默认数据源* 通过@Primary 确定主数据源* 通过 @ConfigurationProperties 配置我们配置文件中的前缀*/@Primary@Primary// 使用 mybatis plus 配置。
2025-02-27 16:23:44
381
原创 数据库表迁移——达梦数据库---》mysql
迁移过程项目数据库从达梦数据库迁移到mysql,不迁移数据,只迁移表结构。当中通过调试踩了不少坑,把迁移过程记录一下。一、 在达梦新建数据库利用达梦数据管理工具新建一个数据库,运行项目sql文件二、 利用DM数据迁移工具迁移用sqlyog连接mysql数据库,新建数据库tyqx-test。利用DM数据迁移工具,从DM迁移到mysql。其中表中的datetime类型迁移到mysql会默认映射为timestamp,把所有的timestamp类型数据改为datetime(6...
2025-02-27 16:08:38
336
1
原创 记一次程序线程阻塞排查-利用日志排查
发现两个日期之间程序日志大小变化明显,查看相关日志,发现11-01号的失败队列监控数据一直是200000,没有新增了,从这里出发去找问。分析可能阻塞的地方是put方法,如果队列已满,则 put 方法会阻塞,直到队列中有可用空间。说明失败的数据不断往队列中填充,没有被取出来消费,大概率是消费队列数据的线程除了问题。查看错误日志发现了暂存代码(消费失败数据存到文件的方法)报错,导致了消费的线程没起来。3.队列使用非阻塞式的方法queue.offer。2.加入暂存代码消费的监控日志打印。
2025-02-27 15:38:59
164
原创 记一次程序通信断连问题排查
找到关键日志,报了2类错误,1类是起始字符不对,另1类是ByteBuf的某个方法找不到。大概率和netty版本有关。排查发现同事新增功能的时候引入了新的netty包,和程序以来的api包中的netty冲突了,导致通信出现问题。统一netty版本后程序通信恢复正常。本次错误主要通过抓包和错误日志排查,通过抓包确认数据通信是正常的,优先解决找不到方法的问题,从这个出发去排查。两个通信传输数据的上下游程序,连接上一段时间后会断连。系统错误日志打印如下。
2025-02-27 14:57:00
117
原创 记一次原生socket导致的连接中断
通过代码走查发现,发送数据的方法这里可能会发生阻塞。以前程序没出现过这个问题,估计是这个现场网络比较不稳定造成的,没处理好原生socket连接异常的情况,长连接没有保活。102采集程序半小时获取一次数据,第二次发送下游没收到数据,监控日志如下。然后通过tcp dump抓包查看情况,以及查看日志。可观察到[Thread2]线程被阻塞了。最好还是用netty作为通信的底层框架。观察系统没有再出现断连丢数据情况。需要修改操作系统的参数。
2025-02-27 14:50:53
189
原创 记一次内存泄漏排查
定位到代码端,发现是连接建立的时候,一次连接建立了一个工作线程组,释放后没及时释放。代码改成多次连接复用一个线程组。更新代码后观察程序没再出现内存泄漏现象。链接:https://pan.quark.cn/s/c587cd5116f9。然后使用JMC工具,分析飞行日志,工具需要下载,jdk自带的包的版本不适配。等程序oom时候的输出的快照,放到java visualvm种进行分析。程序出现使用一段时间后,jvm只增不减,跑24小时后会oom崩溃。问题定位到是netty线程组的问题。
2025-02-27 09:41:43
274
原创 kafka相关-简介/原理/高可用配置/组件关系
Kafka介绍简介Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了已...
2020-02-19 10:03:06
708
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人