- 博客(270)
- 资源 (2)
- 收藏
- 关注

原创 Spring Cloud灰度部署
在我们系统发布生产环境时,有时为了确保新的服务逻辑没有问题,会让一小部分特定的用户来使用新的版本(比如客户端的内测版本),而其余的用户使用旧的版本,那么这个在Spring Cloud中该如何来实现呢?
2023-06-21 08:33:22
1030

原创 Spring Cloud Alibaba实现服务的无损下线功能
最近用到了`Spring Cloud Alibaba`开发微服务,在开发的过程中发现,当我们的`服务上线`或`下线`的时候,我们的`Spring Cloud Gateway`需要一段时间才能感知到,那么有没有办法能够让服务立即感知到呢?`答案是可以的`。
2023-03-13 12:32:11
1406

原创 SpringBoot扩展点EnvironmentPostProcessor
之前项目中用到了Apollo配置中心,对接Apollo配置中心后,配置中心的属性就可以在程序中使用了,那么这个是怎么实现的呢?配置中心的属性又是何时加载到程序中的呢?那么我们如果找到了这个是怎么实现的是否就可以 从任何地方加载配置属性、配置属性的加解密功能呢?
2022-04-25 13:19:20
1730

原创 Spring Cloud Gateway + Jwt + Oauth2 实现网关的鉴权操作
Spring Cloud Gateway + Jwt + Oauth2 实现网关的鉴权操作一、背景二、需求三、前置条件四、项目结构五、网关层代码的编写1、引入jar包2、自定义授权管理器3、token认证失败、或超时的处理4、用户没有权限的处理5、将token信息传递到下游服务器中6、网关层面的配置7、网关yaml配置文件六、演示七、代码路径一、背景随着我们的微服务越来越多,如果每个微服务都要自己去实现一套鉴权操作,那么这么操作比较冗余,因此我们可以把鉴权操作统一放到网关去做,如果微服务自己有额外的鉴权
2021-08-25 20:54:04
2121
6

原创 netty实现websocket发送文本和二进制数据
最近在学习netty相关的知识,看到netty可以实现 websoket,因此记录一下在netty中实现websocket的步骤,主要实现传递文本消息和传递二进制消息(此处只考虑是图片),如果是别的消息可以考虑使用自定义协议。需求: 1、使用 netty 实现 websocket 服务器 2、实现 文本信息 的传递 3、实现 二进制 信息的传递,默认...
2018-11-09 12:44:09
15705
16
原创 ollama在mac系统上的安装
最近我在学习大模型相关的知识,因此想通过本地运行一些离线大模型来观察效果。经过了解,我发现Ollama可以运行离线模型,于是决定记录一下Ollama的安装过程。
2025-03-16 09:14:11
928
原创 通过mybatis的拦截器对SQL进行打标
在我们开发的过程中,一般需要编写各种SQL语句,万一生产环境出现了慢查询,那么我们如何快速定位到底是程序中的那个SQL出现的问题呢?
2025-03-13 13:10:38
300
原创 Transaction rolled back because it has been marked as rollback-only问题解决
在我们的日常开发中,经常会存在在一个Service层中调用另外一个Service层的方法。`比如`:我们有一个TaskService,里面有一个execTask方法,且这个方法存在事物,这个方法在执行完之后,需要调用LogService的insertLog方法记录一条日志,这个方法上也有事物,不管日志记录成功还是失败,都不能影响execTask方法的执行。因此我们很容易写出如下代码。
2025-02-05 14:45:56
694
原创 MySQL 事件调度器(Event Scheduler)的使用
假设我们有一个需求,`每隔5s`,清除表`login_log`中`2年前`的记录,并插入一条当前清理的记录,那么这个该如何实现呢? 实现这个需求的方式有很多种,此处我们通过数据库的 `Event Scheduler `来实现下。
2025-02-05 09:00:00
895
原创 在Java程序中监听mysql的binlog
是一个Java库,通过它可以实现日志的监听和解析操作。它提供了一系列可靠的方法,使开发者通过监听数据库的binlog日志,来实时获取数据库的变更信息,比如:数据的插入更新删除等操作。github地址从下图中可知,针对text类型的字段,默认转换成了byte[]类型,那么怎样将其转换成String类型呢?此处针对更新语句来演示注意:断点跟踪源码发现text类型的数据映射成了blob类型,因此需要重写 deserializeBlob 方法@Overrideif (null!
2024-10-12 08:56:28
1167
原创 记录一些简单的linux运维命令
有时间工作中会用到一些linux命令,对于常用的可能自己记得,对于不常用的容易忘,因此将部分操作命令在文章中记录下,防止下次需要使用又要再次寻找。
2024-07-09 12:44:41
427
原创 Nacos单机模式下,SpringCloud程序注册到nacos上,报server is DOWN now, please try again later的解决方法
记录一下当出现 server is DOWN now, please try again later 这个错误时,如何解决此问题
2024-07-06 17:38:11
572
原创 ForkJoinPool在生产环境中使用遇到的一个问题
在我们的项目中有这么一个场景,需要消费kafka中的消息,并生成对应的工单数据。早些时候程序运行的好好的,但是有一天,我们升级了容器的配置,结果导致部分消息无法消费。而消费者的代码是使用来实现的。ForkJoin???2核4G4核8G只有3个topic。
2024-03-24 16:00:16
1139
原创 MapReduce实现TopN的效果
最近在学习Hadoop的MapReduce,此处记录一下如何实现 `TopN` 的效果,以及在MapReduce中如何实现 `自定义分组`。
2023-07-17 14:08:21
355
原创 MapReduce的基础知识
1. Hadoop MapReduce 是一个 `分布式计算框架`,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)2. MapReduce 是一种`面向海量数据`处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。
2023-07-03 12:30:03
296
原创 hdfs的透明加密记录
我们知道,在hdfs中,我们的数据是以block块存储在我们的磁盘上的,那么默认情况下,它是以密文存储的,还是以明文存储的呢?如果是明文存储的,那么是否就不安全呢?那么在hdfs中是如何做才能做到数据的透明加密呢?
2023-06-19 12:11:21
1054
原创 hdfs中acl权限管理的简单实用
在我们开发的过程中有这么一种场景,/projectA目录是用户创建的,他对这个目录有wrx权限,同时这个目录属于supergroup,在这个组中的用户也具有这个目录的wrx权限,对于其他人,不可访问这个目录。现在有这么一个特殊的用户root由上图可以,root用户想访问/projectA目录,在hdfs中可以通过acl来实现。
2023-06-05 12:28:56
1162
原创 hdfs开启回收站(废纸篓)
我们知道,在mac系统上删除文件,一般情况下是可以进入废纸篓里的,如果此时我们误删除了,还可以从 废纸篓中恢复过来。那么在hdfs中是否存在类似mac上的废纸篓这个功能呢?答案是存在的。
2023-05-25 20:03:38
544
原创 hdfs集群的扩容和缩容
当我们的hadoop集群运行了一段时间之后,原有的数据节点的容量已经不能满足我们的存储了,这个时候就需要往集群中增加新的数据节点。此时我们就需要动态的对hdfs集群进行扩容操作(节点服役)。
2023-04-04 12:23:14
1076
原创 hdfs disk balancer 磁盘均衡器
在我们的hadoop集群运行一段过程中,由于多种原因,数据在DataNade的磁盘之间的分布可能是不均匀。**比如:** 我们刚刚给某个DataNode新增加了一块磁盘或者集群上存在大批量的write & deltete操作等灯。那么有没有一种工具,能够使单个DataNode中的多个磁盘的数据均衡呢?借助Hadoop提供的`Diskbalancer`命令行工具可以实现。
2023-03-31 12:26:48
514
原创 HDFS Balancer负载均衡器
当我们的hadoop集群运行了一段时间之后,各个`DataNode`上的`数据分布`并`不一定`是`均匀分布`的。**比如说:** 我们向现有集群中添加了一个新的DataNode。
2023-03-30 12:29:23
1027
原创 HDFS Short-Circuit Local Reads
在`HDFS`中,读取操作通常是通过`DataNode`。因此,当客户端要读取文件时,DataNode 会从磁盘上读取文件,然后通过`TCP套接字`将数据发送给客户端。**如果我们的客户端和数据在同一台机器上的时候,** 那么是否可以绕过DataNode,允许客户端直接读取数据呢?通过`Short-Circuit Local Reads`可以实现这一功能。
2023-03-27 20:06:53
309
原创 java excel合并内容相同的单元格
最近在做导出的过程中,导出的excel,列值的内容有很多相同的部分,针对这部分需要进行单元格的合并。那么在java中是如何实现的呢?
2023-03-21 21:30:25
2177
原创 hdfs的异构存储
在我们实际的开发过程中,我们的某些数据可能经常使用,但是过了一段时间,这个数据就不怎么使用了,即我们的数据存在一个`热`、`温`、`冷`等这些特性。那么针对`数据的热度`,我们可以采用不同的策略,存储到不同的存储介质上。
2023-03-21 07:45:00
447
原创 mac系统上hdfs java api的简单使用
在上一节中,我们简单学习了在命令行上如何操作hdfs shell api,此处我们通过java程序来操作一下。
2023-03-02 12:41:27
712
原创 hdfs file system shell的简单使用
此处我们通过命令行,简单的学习一下 `hdfs file system shell ` 的一些操作。
2023-03-01 12:33:10
577
原创 Centos7搭建hadoop3.3.4分布式集群
最近在学习`hadoop`,本文记录一下,怎样在Centos7系统上搭建一个`3`个节点的`hadoop`集群。
2023-02-21 12:41:06
3255
原创 Centos7系统编译Hadoop3.3.4
最近在学习`hadoop`,此篇文章简单记录一下通过源码来编译`hadoop`。为什么要重新编译`hadoop源码`,是因为为了匹配不同操作系统的本地库环境。
2023-02-20 12:33:57
853
原创 centos7给已有分区进行扩容
最近我在虚拟机上安装软件,发现磁盘空间不足,通过上网查找资料,发现可以通过如下方法进行磁盘扩容,此处进行记录一下。
2023-02-18 14:32:12
3177
原创 es中将sql转换成dsl
在es中,有些时候我们知道sql语句是怎么写的,但是如果我想通过dsl来实现,那么该如何处理呢?其中在es中提供了将sql转换成dsl的api,此处我们来简单使用下。
2023-02-13 12:54:32
1786
原创 elasticsearch使用painless的一些简单例子
此篇文档仅仅是简单的记录一下painless的一些简单的例子,防止以后忘记,不过多涉及painless的语法。
2023-02-09 12:27:16
734
原创 elasticsearch中使用bucket script进行聚合
此篇文档简单的记录一下在`es`使用`bucket script`来进行聚合的一个例子。
2023-02-07 12:35:04
871
原创 elasticsearch中使用runtime fields
在我们使用es的开发过程中可能会遇到这么一种情况,比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型,但是后期发现需要使用这个字段来进行聚合操作,那么我们除了对索引进行reindex操作外,还有什么办法可以解决这个问题呢?此处我们通过runtime field来解决。
2023-02-02 07:30:00
817
原创 在elasticsearch中简单的使用script_fields
在我们使用es时,有些时候需要动态返回一些字段,而这些字段是通过动态计算得出的,那么此时该如何操作呢? 比如:我们索引中有一个sex字段,保存的是1或0,而在页面上需要展示男或女,那么这个时候就可以使用script_fields来解决。可能有些人说,我通过后台进行格式化一下不就行了吗,但是假设我们需要在kibana等可视化工具上展示呢?
2023-01-31 13:11:58
3184
原创 如何在es中查询null值
在我们向es中写入数据时,有些时候数据写入到es中的是null,或者没有写入这个字段,那么这个时候在es中该如何查询出这种为null的数据呢?
2023-01-29 21:15:02
8925
7
原创 elasticsearch实现简单的脚本排序(script sort)
我有一堆学生数据,其中`湖北省`的学生需要排在所有数据的最前面。`其余省`正序排序,对于`同一个省`的数据,按照`年龄`倒序排序。
2023-01-13 07:45:00
4165
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人