- 博客(109)
- 资源 (8)
- 收藏
- 关注
原创 Redis持久化策略详解
Redis是基于内存的NoSQL数据库,但存储于内存的数据,会因为类似断电或者机器故障而导致内存数据丢失的问题。所以要将数据持久化存储到磁盘,以便Redis重启时,能够从磁盘中恢复原来的数据。
2024-04-10 14:00:56
1488
原创 设计模式之创建型模式 - 单例模式
单例模式确保系统中某个类只有一个实例,并提供一个访问它的全局访问点。主要解决一个全局使用的类频繁地创建与销毁,控制实例数目,节省系统资源。
2024-03-27 22:18:21
916
原创 Redis实现高可用方案
如果单机部署Redis服务的话,一旦Reids宕机,那么整个服务就不可用了,这就是我们常说的单点故障问题。Redis为了实现高可用通常的做法是将数据库复制多个副本以部署在不同的服务器上,即使其中一台挂了其它Redis实例也可以继续提供服务。Redis实现高可用有三种部署模式:主从模式,哨兵模式,集群模式。
2024-03-20 17:46:05
1178
原创 Java后端服务接口性能优化常用技巧
对于高标准程序员来说提供高性能的服务接口是我们所追求的目标,以下梳理了一些提升接口性能的技术方案,希望对大家有所帮助。
2024-02-25 16:43:45
1667
原创 ElastAlert 错误日志告警
ElastAlert 是 Yelp 公司基于 python 开发的 ELK 日志告警插件,Elastalert 通过查询 Elasticsearch 中的记录与定于的告警规则进行对比,判断是否满足告警条件。发生匹配时将为该告警触发一个或多个告警动作。告警规则由 Elastalert 的 rules 定义,每个规则定义一个查询。
2024-02-06 11:16:50
2512
原创 MySQL事务原理-相关日志
事务(Transaction)是一系列的数据库操作,这些操作要么全部成功执行,要么全部回滚(即全部失败,回到操作前的状态),这样确保数据库的数据在并发访问的情况下保持一致性和完整性。
2024-02-02 19:31:33
1010
原创 如何保证MySQL和Redis中的数据一致性?
在高并发的场景下,大量的请求直接访问MySQL很容易造成性能瓶颈。所以,我们都会用Redis来做数据的缓存,削减对数据库的压力。但是,MySQL和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。
2024-02-02 13:58:42
1401
1
原创 使用Spring AOP做接口权限校验和日志记录
AOP: 翻译为面向切面编程(Aspect Oriented Programming),它是一种编程思想,是面向对象编程(OOP)的一种补充。它的目的是在不修改源代码的情况下给程序动态添加额外功能。
2024-01-30 13:46:55
1748
原创 RocketMQ连接报错RemotingConnectException: connect to <192.168.57.129:9876>解决
上一篇文章:基于SpringBoot整合RocketMQ异步发送短信功能在项目启动的过程中报了 RocketMQ 连接错误。针对这个问题,本文给予记录。
2023-12-24 21:44:38
7331
2
原创 基于SpringBoot整合RocketMQ异步发送短信功能
上一篇文章记录了 RocketMQ 整体架构、安装部署、应用场景这三个内容。熟悉了 RocketMQ 相关核心概念后,本文记录基于 SpringBoot 整合 RocketMQ 异步发送短信功能,其中会引入阿里云短信服务相关内容。
2023-12-24 21:06:16
1174
原创 JWT 实现登录认证功能及Cookie、Session 和 Token的区别
认证功能是项目基础建设之一,要实现认证功能,很容易就会想到 JWT 或者 Session,但是两者有啥区别?各自的优缺点?
2023-12-24 15:36:04
1841
原创 RocketMQ 安装部署及应用场景记录
工作中很多种场景用到消息队列,消息队列简单来说就是消息的传输过程中保存消息的一种容器。项目中引入消息队列中间件主要解决了异步处理、应用耦合、流量削峰等问题。今天我们来学习一下阿里开源的一款产品 RocketMQ。
2023-11-26 17:53:52
1565
原创 Redisson实现分布式锁应用解析与源码分析
Redisson 是一个基于 Redis 的分布式 Java 客户端。它提供了丰富的功能和工具,帮助开发者在分布式系统中解决数据共享、并发控制和任务调度等问题。通过使用Redisson,开发者可以轻松地操作 Redis 的分布式对象(如集合、映射、队列等),实现可靠的分布式锁机制,以及管理和调度分布式环境中的任务和服务。
2023-11-18 20:50:40
945
原创 Elasticsearch集群搭建 + ELFK数据传输链路打通
本文记录基于 Docker 容器化技术将 Elasticsearch 集群搭建 + ELFK 数据传输链路打通过程。
2023-09-24 10:37:04
1547
1
原创 使用stream的skip方法进行分页处理
在日常开发过程中,将查询的数据进行分页处理是非常常见的需求,而有时候 PageHelper的 startPage 方法对查询数据进行分页后,我们需要对这数据集进行再处理,而导致分页数据丢失一部分,只能查询第一页的数据。所以我们可以先做业务处理得到数据集,最终使用 Java 8 的 stream 的 skip 方法进行分页处理。
2023-09-24 09:50:35
1319
原创 Centos7虚拟机硬盘扩容 + 修改Docker默认存储位置
Vmware 虚拟机开机时提示:虚拟机根目录系统内存不足,可能原因是 /var/lib/docker 目录占用的磁盘空间不够了。本文记录虚拟机磁盘扩容过程和修改 docker 默认的存储位置。
2023-09-24 00:42:02
2074
原创 Redis实现分布式锁的基本原理与问题演进
随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的Java API并不能提供分布式锁的能力。为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题!
2023-09-23 18:04:24
277
原创 本地缓存与分布式缓存-高并发场景下缓存失效问题-分布式锁
本地缓存与分布式缓存-高并发场景下缓存失效问题-分布式锁等redis常见问题分析与记录。
2023-08-12 23:35:25
1096
原创 JVM 中一次完整的 GC 流程和对象如何晋升到老年代?
今天来分享一道比较好的面试题,JVM 中一次完整的 GC 流程是怎样的以及对象如何晋升到老年代?
2023-08-12 15:13:29
491
原创 性能监控-压力测试
本文记录性能监控部分介绍JVM内存结构,jvisualvm性能监控及压力测试工具Jmeter压测接口服务、压测Nginx、网关服务等。
2023-07-12 22:58:42
1673
2
原创 首页渲染-域名搭建
将静态资源保存在 nginx 的 index 目录下,所有请求过来先经过 nginx 服务器,根据 nginx 的动静分离特点静态资源直接返回数据,动态资源再经过服务器处理后返回,达到减轻每个微服务的压力,提升服务器的吞吐量。
2023-07-11 20:02:31
348
原创 全文检索-Elasticsearch-整合SpringBoot
前面记录了 Elasticsearch 全文检索的入门篇和进阶检索。这次我们来讲下 Spring Boot 中如何整合 ES,以及如何在 Spring Cloud 微服务项目中使用 ES 来实现全文检索,来达到商品检索的功能。
2023-05-12 11:21:01
2909
原创 全文检索-Elasticsearch-进阶检索
ES 支持两种基本方式检索 :- 一个是通过使用 REST request URI 发送搜索参数(uri + 检索参数)- 另一个是通过使用 REST request body 来发送它们(uri + 请求体)
2023-05-06 17:38:16
4227
3
原创 SpringSecurity-从入门到精通
SpringSecurity 是一个强大且高度自定义的认证和访问控制框架。这是保证基于 Spring 的应用程序安全的实际标准。
2023-04-29 23:52:35
941
原创 git 报错 error: remote origin already exists 解决与代码上传到远程 gitee 仓库
3、关联自己的仓库 git remote add origin https://gitee.com/xxxxxx.git。error: remote origin already exists.表示远程仓库已存在。2、先输入git remote rm origin 删除关联的 origin 的远程库。4、最后git push origin master,这样就推送到自己的仓库了。1、git remote -v 查看项目关联的远程库地址。
2023-04-12 13:55:00
3288
2
原创 CompletableFuture 异步编排学习一
CompletableFuture 是 jdk8 的新特性,CompletableFuture 实现了 CompletionStage 接口和 Future 接口,前者是对后者的一个扩展,增加了异步会点、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利,可用于线程异步编排,使原本串行执行的代码,变为并行执行,提高代码执行速度。
2023-04-09 21:37:52
487
原创 调用第三方接口执行POST 和 GET 请求工具类记录
在实际开发过程中我们可能需要在代码中发送请求,调用第三方接口,所以我们需要编写工具类调用 HTTP 请求。此文章记录常见的代码中调用 POST 和 GET 请求以及用于接收他们返回结果的工具类。 以及记录报错信息:java.io.IOException: Server returned HTTP response code: 400 for URL:
2023-04-09 12:07:53
1148
原创 Postman 接口传参报错解决与@RequestBody的注解作用记录
以下面测试代码作为例子:前端发送 POST 请求,请求体里面携带 List 集合的字符串发送给后端接口,后端接口接收到前端发送的请求数据后直接返回给前端。
2023-03-10 17:42:57
4591
原创 基于SpringBoot的任务管理三种方式
在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的可以通过异步实现的场景。
2023-02-26 22:36:52
1173
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人