- 博客(21)
- 收藏
- 关注

原创 Apache NiFi 自定义Processor处理器编写
当我们在使用ApacheNiFi时,当已有的processor不支持我们现有需求时,需要我们自己编写自定义处理器并且发布,以至于更好的支持我们的需求;下面我写一个将JSON数据转化为Excel并且输出到本地文件的自定义Processor Demo
2024-06-19 15:40:54
1510

原创 Apache NiFi 安装和使用
点击工具栏处的Processor,拖拽到工作区,搜索处理器ConvertAvroToJSON,因为在第一步中,我们通过sql查询到的数据为Avro格式,所以在这里需要转化为json在进行输出。可视化编程:基于Web图形界面,用户可以通过拖拽、连接、配置等操作完成基于流程的编程,实现数据采集、处理等功能。数据处理与分发:NiFi是一个统一的、与数据源无关的大数据集成平台,能够自动化管理系统间的数据流。高度可配置:支持高度可配置的指示图,用于指示数据路由、转换和系统中流转关系。配置完之后点击这里,启用连接。
2024-05-30 15:46:59
2849
2

原创 DragonflyDB调研
简介:全世界内存最快的数据库,Dragonfly是一种针对现代应用程序负荷需求而构建的内存数据库,完全兼容Redis和Memcached的 API,迁移时无需修改任何代码。相比于这些传统的内存数据库,Dragonfly提供了其25倍的吞吐量,高缓存命中率和低尾延迟,并且对于相同大小的工作负载运行资源最多可减少80%。Dragonfly始于一项实验,旨在探索如果在2022年重新设计内存数据库,它会是什么样子。
2024-04-18 16:12:27
1749
1
原创 基于Spring的RabbitMQ消息异步处理实践
在当今的分布式系统架构中,消息中间件扮演着至关重要的角色。RabbitMQ 作为一款成熟、稳定且广泛使用的消息队列系统,凭借其出色的可靠性、灵活性和易集成性,成为众多企业构建异步通信和解耦服务的首选方案。本文将带你快速上手 RabbitMQ,助你掌握这一关键技术,为系统带来更高的可扩展性与健壮性。
2025-07-10 11:09:57
235
原创 Spring与Kafka深度整合
随着实时数据处理需求的增长,Kafka 作为高吞吐、低延迟的消息中间件,已成为构建分布式系统的重要组件。Spring Boot 凭借其简洁的开发体验和强大的生态支持,成为集成 Kafka 的首选框架。本文将带你快速实现 Spring Boot 与 Kafka 的整合,涵盖生产者、消费者的基本使用及核心配置优化,助你构建可靠、高效的消息通信能力。
2025-07-07 14:40:56
305
原创 Spring集成Sentinel限流示例
在高并发系统中,突发流量可能导致服务雪崩。作为阿里开源的轻量级限流组件,能有效保障系统稳定性。本文将介绍如何在Spring Boot中快速集成Sentinel,通过注解方式实现接口限流,并利用控制台实时监控流量。无论你是应对秒杀场景,还是提升服务韧性,Sentinel都是值得掌握的利器。让我们开始Sentinel的实战之旅!
2025-07-04 11:17:29
477
原创 Java Spring使用hutool的HttpRequest发送请求的几种方式
hutool为我们封装了发送请求的工具,我们一起来看看常用的有哪些吧!
2024-11-21 13:14:11
785
1
原创 Java替换jar包中class文件(亲测有用)
在我们开发过程中,有一些场景只需要修改某个Java类中的很少的代码,然后又不希望重新打完整的jar包,这个时候,就可以只将修改后的某个Java类的class文件替换掉原来jar包中的class文件,重新启动服务即可。
2024-11-20 13:38:59
1547
1
原创 MybatisPlus修改某个特定字段的值
其中updateWrapper中.in(DataLayoutModuleInfo::getModuleCode, moduleCodeList)为条件。其中Service层的写法和baseMapper写发稍有不同,底层Service也是调用的baseMapper。当我们想修改数据时,想根据id或者其他的条件只修改对象的某几个字段而不想修改所有字段,下面这种写法简单且高效。set为你想要修改的字段和修改后的值。
2024-05-30 15:22:08
2351
原创 Java Map转换为JSONObject乱序且保留值为null的key
在Java中,当讲HashMap转化为JSONObject,会有key乱序且值为null的key被自动过滤掉,如以下代码。可以看到,输出的顺序并不是我们put的顺序,并且key_5没有了。
2024-05-11 15:14:25
1033
3
原创 获取spring resource目录下的文件
在Spring框架中,你可以使用Resource接口和ResourceLoader接口来获取位于classpath、文件系统或其他位置的文件。对于resource目录下的文件(这通常指的是类路径下的一个目录),你可以使用ClassPathResource或者直接注入一个Resource类型的bean。
2024-04-30 15:12:25
533
1
原创 spring validation 常用注解详解
背景:当前端调用后端接口时,接口参数校验是必不可少的,spring validation提供了一系列校验规则,直接使用注解即可,无需手动写校验逻辑。Java代码,添加@Valid注解。
2024-04-30 14:41:25
741
2
原创 Java策略模式Demo
当我们的业务逻辑根据不同的场景要做不同的处理时,需要大量的if判断加处理,这样导致代码臃肿且拓展性低;下面我用一个简单的业务,使用策略模式去处理不同的场景;业务场景为在IM聊天中,根据不同的消息类型,去处理不同的消息。4.创建自定义注解MessageTypeAnnotation。2.创建各业务实现handler。6.创建消息handler工厂。5.创建参数上下文对象。
2024-04-19 11:05:13
439
1
原创 Java责任链模式Demo
4.定义每个执行单元业务处理handler,(order从小到大执行)5.定义责任链配置(项目启动时初始化执行顺序,以及调用执行入口)2.定义全局上下文参数。3.定义处理器抽象类。
2024-04-19 10:29:26
491
1
原创 分布式事务的几种实现方案
可靠事件模式2.0(去哪网使用)(需要第三方协调服务的健壮性):每个参与方都在本地维护一个本地事务表,A调B、C,A调B失败,A调C成功,B失败有可能是真的失败,也有可能是超时失败实际成功,那么在B端就记录的是成功,这时候需要一个第三方服务,复制协调对比每一方的事务结果,如果想刚刚这种情况B实际是调用成功了,则不进行回滚或者补偿,把A端记录B的调用改为成功,如果B确实是失败了,根据业务补偿B,或者回滚A和C都行。TCC模式:将一个任务拆分三个操作:Try、Confirm、Cancel;
2024-04-18 16:53:24
328
1
原创 Elasticsearch 查询优化策略有哪些
建立冷热索引库(可用固态硬盘存放热库数据,普通硬盘存放冷库数据),热库数据可以提前预热加载至内存,提高检索效率。控制字段的数量,业务中不使用的字段,就不要索引。如果业务场景中的过滤查询比较多,建议将。避免大型文档存储,默认最大长度为。设置大一些,以提高查询速度。不要返回无用的字段,使用。
2024-04-18 16:48:47
278
原创 线上CPU高问题排查
当我们的应用上线之后,运行一段时间发现CPU居高不下,现在我来带领大家一起排查问题所在。首先,使用top命令查看cpu高的进程,发现进程号为3633的进程cpu占用99%进入该进程,查看线程的cpu占用情况。获取到线程id后,转化为16进制。上图中定位到了问题出现在类。线上CPU高问题排查。
2024-04-18 16:20:19
377
原创 Java spring替换word模版数据
在使用spring开发时,将word文件中的变量替换成自己想要的数据,如下图中,要讲word中的变量{{name}} {{age}},替换成 ‘张三’‘18’第三步:执行之后的效果。第二步:Java代码。
2024-04-18 15:35:29
869
1
原创 Spring项目打包后将resource下的资源压缩导致文件破损,文件流不可用
您可以在项目运行时指定外部文件的路径,或者将文件放在服务器的文件系统中,并在应用中引用这些外部文件的路径。这样可以确保Word文件不会被压缩,避免文件损坏的问题。当我们使用spring开发时,经常会将一些资源放到resource目录下,方便我们获取和使用,但是,在打包项目时,资源文件会被压缩到JAR或WAR包中,这可能导致Word文件等二进制文件损坏。例如,在Maven中,你可以使用maven-resources-plugin来排除对特定文件的压缩,如下图中,将docx排除。
2024-04-18 15:22:37
761
1
【大数据集成】Apache NiFi数据流管理平台的功能特性与应用实例:从安装配置到自定义处理器开发
2025-07-10
【内存数据库】DragonflyDB高性能内存数据库设计与应用:关键技术及实战案例分析以下要素:
2025-07-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人