中间件
文章平均质量分 96
方渐鸿
一线后端开发,擅长java、kotlin等语言,熟练各种中间件和数据库使用,专注物联网领域开发,喜欢捣鼓新的东西...
展开
-
【2024】Java知识点汇总----Redis篇
java知识点汇总🍅。原创 2024-10-24 21:22:25 · 642 阅读 · 0 评论 -
【2024】springboot通过阿里云oss进行文件单个批量文件上传下载
写该项目主要是自己编写小程序,需要进行存储一些图片以及视频,在我们进行文件存储的时候,主要可以通过纪中途径进行存储,可以选择通过转二进制直接存储在数据库,或者直接存储在前端服务器,也可以自己搭建一个文件存储系统(如minio、FastDFS等),还有就是可以存储在第三方搭建好的云存储服务器,最常用的就是阿里OSS了,也就是我使用的、拿来即用。原创 2024-04-24 22:24:35 · 1221 阅读 · 0 评论 -
【2024】kafka原生以及配合springboot的使用(Kafka-3)
本文主要是介绍通过使用原生代码方式和结合springboot分别如何更好的去使用理解kafka如果需要看理论或者安装kafka可以看我前面两篇内容🍅kafka使用和安装。原创 2024-04-02 21:26:15 · 1997 阅读 · 0 评论 -
【2024】kafka入门学习与使用(kafka-2)
Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于Zookeeper的分布式消息流平台(2.8版本以后可以不需要依赖目前已经成为 Apache 软件基金会的顶级项目。它被设计用于处理大规模的实时数据流,并具有高吞吐量、低延迟、高可靠性和可扩展性等特点。kafka如果还没安装的可以看下面的文章🍅kafka-linux和docker安装消息队列:用于存放消息的一个组件消息队列最主要的作用其实是用于帮我们解决通信问题,通过内部封装,定义规范帮我们实现简单异步通信;原创 2024-03-30 18:36:33 · 1169 阅读 · 0 评论 -
【2023】kafka在linux和docker安装(kafka-1)
先进入`kafka/bin`目录下- . 创建topic 1. `./kafka-topics.sh`:脚本路径,都默认存放bin目录下 2. `my_topic`:主题名字 3. `localhost:9092` :zookeeper的ip和端口 4. `3` :分区设置三个 5. `1`:副本设置一个原创 2024-03-30 18:29:02 · 1395 阅读 · 1 评论 -
【2023】通过redis 实现分布式锁由原生到Redisson代码三种实现和介绍
- **获取锁**:使用`redisTemplate.opsForValue().setIfAbsent()`, 方法实现,该方法的底层其实就是调用了`execute()`方法实现了`setnx`命令(先进行判定键是否存在,不存在则设置key,成功后返回`true`;存在则直接返回`false`)。 - **释放锁**:直接使用`redisTemplate.delete()`方法删除掉该key即可释放成功。但在删除之前需要通过验证值的方式,验证是否是该线程自己的锁。原创 2023-10-25 11:38:06 · 284 阅读 · 0 评论 -
【2023】redis-stream配合spring的data-redis详细使用(包括广播和组接收)
Redis Stream(Redis Streams)是Redis 5.0版本引入的一种数据结构,用于处理时间序列数据、消息队列和日志流。它提供了高吞吐量、持久性、有序、可扩展的消息传递解决方案。Redis Stream 结构是对传统发布/订阅模式的增强,使你能够更灵活地处理数据流,并提供了以下主要特性:多生产者和多消费者:多个生产者可以同时向 Stream 中写入消息,而多个消费者可以独立订阅并消费消息。每个消费者可以有不同的消费速率。原创 2023-10-15 20:05:10 · 862 阅读 · 0 评论 -
【2023】项目开发过程中接口幂等性解决方案实现,及代码示例
使用redis的原生操作SETNX命令来实现,这个方法会发送一条命令到Redis服务器, 如果键不存在,则设置键值对,并设置过期时间,返回true;如果键已经存在,则不做任何操作,并返回false。 使用Redis原生操作实现虽然简单,但在高并发情况下可能存在竞争条件的问题,因为尽管setIfAbsent方法本身是原子的,但在设置过期时间时不是同一个操作, 可能存在一定的延迟,具体根据自己情况来,如果对原子性原创 2023-07-17 17:15:55 · 689 阅读 · 0 评论 -
【2023】java打印PDF(不需要调用浏览器直接静默打印)
实现步骤先大致介绍一下这篇文章的内容,主要是通过 Adobe Acrobat DC(或者其他的PDF模板制作app),制作好PDF模板,然后通过`itextpdf`框架把数据写入到模板对应的文本域中,可以实现PDF文件打开,写入的内容可以正常显示代表pdf文件制作没用问题了。- 然后在需要连接打印机打印的上部署一个调用本地打印机的jar包,jar主要通过`pdfbox`框架实现调用本地打印机,成功把需要打印的pdf文件传递到打印机的打印队列,实现打印。在打印机主机的jar写好接受服务器打印的pdf原创 2023-08-09 16:42:47 · 4984 阅读 · 5 评论 -
XXL-Job 具体通过docker 配置,再通过springboot执行注册实现完整流程
在平时的业务场景中,经常有一些场景需要使用定时任务,比如: - 时间驱动的场景:某个时间点发送优惠券,发送短信等等。 - 批量处理数据:批量统计上个月的账单,统计上个月销售数据等等。 - 固定频率的场景:每隔5分钟需要执行一次。原创 2023-08-04 18:03:13 · 1364 阅读 · 0 评论 -
【2023】Nacos下载与安装配置(2.2.3版本示例)
1.1 什么是NacosNacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施开启鉴权之后,你可以自定义用于生成JWT令牌的密钥,原创 2023-07-26 09:34:58 · 22311 阅读 · 5 评论 -
【2023】RabbitMQ配合springboot使用代码实现
Direct是RabbitMQ默认的交换机模式,也是最简单的模式.即创建消息队列的时候,指定一个BindingKey.当发送者发送消息的时候,指定对应的Key.当Key和消息队列的BindingKey一致的时候,消息将会被发送到该消息队列中.主要是依据一种模式(通配符+字符串),而当发送消息的时候,只有指定的Key和该模式相匹配的时候,消息才会被发送到该消息队列中.把队列注入容器,初始化时创建:类上需要加配置类注解-config:配置类。sender:生产者。配置类:config。配置类:config。原创 2023-07-14 16:01:53 · 222 阅读 · 0 评论 -
【2023】RabbitMQ基本介绍及代码实现(1)
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。原创 2023-07-14 15:54:47 · 688 阅读 · 0 评论