SpringBoot整合Redis单机/哨兵/集群模式指南

SpringBoot整合Redis单机/哨兵/集群模式指南

本文旨在为后端开发者提供一份在 Spring Boot 项目中整合 Redis 的实践指南,涵盖单节点、主从、哨兵及集群四种常见部署模式。我们将探讨每种模式的配置方法、适用场景及关键注意事项,帮助您根据实际需求选择并实施最合适的 Redis 解决方案。

核心技术栈: Spring Boot, Redis, Lettuce (Spring Boot 2.x 默认 Redis 客户端)

阅读更多
Centos部署Redis主从、哨兵、集群实战指南

Centos部署Redis主从、哨兵、集群实战指南

Redis 作为一款高性能的键值数据库,在现代 Web 应用中扮演着至关重要的角色,常用于缓存、消息队列、会话管理等场景。为了满足不同的业务需求,特别是对高可用和可扩展性的要求,Redis 提供了多种部署模式:主从复制(Master-Slave)、哨兵(Sentinel)和集群(Cluster)。本文旨在详细介绍如何在离线环境中,逐步搭建这三种模式的 Redis 服务。

阅读更多
Java8中更优雅的记录代码运行时间

Java8中更优雅的记录代码运行时间

在日常后端开发中,性能优化是一项核心任务。我们经常需要测量某段代码的执行耗时,例如查询耗时、接口响应时间、批处理任务处理时间等。在 Java 中,传统的做法可能是使用 System.currentTimeMillis():

1
2
3
4
long start = System.currentTimeMillis();
// 业务逻辑
long end = System.currentTimeMillis();
System.out.println("执行耗时: " + (end - start) + "ms");

虽然这非常直接,但在 Java 8 引入 java.time 包之后,我们可以使用更现代、更语义化的方式 —— Instant 和 Duration 来实现这一目标。

本文将带你深入了解 Java 8 中几种记录代码运行时间的优雅方式,并附上实用工具类与建议,提高你的代码可读性与复用性。

阅读更多
SpringBoot整合ELK日志

SpringBoot整合ELK日志

在现代微服务架构中,日志的集中管理和可视化分析对于问题排查与系统监控至关重要。本文详尽介绍了如何在 Spring Boot 项目中整合
ELK(Elasticsearch、Logstash、Kibana)日志系统。通过引入 Logstash Encoder 依赖并配置 logback 文件,实现了应用日志以 JSON 格式输出到
Logstash,再传送至 Elasticsearch 中进行存储与搜索。文章还提供了 Kibana 的详细配置步骤,包括索引模板与模式的创建,使我们可以直观地在
Web 页面上查看日志信息。同时,还补充了如何按日志级别将信息分别归档为 info、warn、error 等索引,增强了日志分类管理能力,并通过
Spring Profile 实现不同环境下的日志输出控制,提高了日志系统在生产环境中的实用性和可维护性。

阅读更多
Nginx部署前后端分离项目并实现负载均衡

Nginx部署前后端分离项目并实现负载均衡

本文介绍了如何利用 Nginx 部署前后端分离的 Web 项目,并通过 Nginx 反向代理实现后端服务的负载均衡。

部署场景基于两台服务器,分别承担静态前端资源和后端 API 服务。Nginx 作为网关,负责监听统一端口,转发前端资源请求和后端接口请求。

前端静态资源直接由 Nginx 提供服务,后端 API 请求则根据一定的分发策略,实现多节点负载均衡,提高整体系统的可用性和并发能力。

通过调整 Nginx 配置文件,可以灵活指定静态资源目录、代理路径、负载均衡策略以及常见的安全转发头部设置。

阅读更多
避免Docker镜像导出导入踩坑,杜绝悬浮镜像实用指南

避免Docker镜像导出导入踩坑,杜绝悬浮镜像实用指南

在日常开发和运维中,我们经常需要将 Docker 镜像导出为文件、在其他环境导入使用。常用的命令是:

1
2
docker save -o <tar包名称> <镜像名称>:<tag>
docker load -i <tar包名称>

本文将围绕这套命令,分享一些实践技巧,帮助你避免坑,提高镜像管理效率。

阅读更多
非root用户运行Docker命令的最佳实践

非root用户运行Docker命令的最佳实践

在企业环境中,为了保证系统安全和权限的合理分配,通常不允许直接使用 root 用户执行 Docker 命令。本文将介绍如何配置普通用户,使其能够无须 root 权限便可执行 Docker 命令,从而提升安全性和操作便捷性。

阅读更多
Frp内网穿透教程

Frp内网穿透教程

Frp(Fast Reverse Proxy)是一款高性能的内网穿透工具,广泛应用于解决没有公网IP的本地服务如何向公网暴露访问入口的问题。

通过部署Frp服务端于拥有公网IP的云服务器,同时在本地内网环境的主机上运行客户端,便可将内网服务如Web、SSH等安全高效地映射到公网指定端口,实现远程访问。

本教程详细介绍了Frp的部署流程,包括服务端与客户端的安装配置、systemd自启服务的设置,以及如何通过Frp灵活穿透Nginx服务。

同时,文中囊括了常见的安全配置要点和实时流量监控方法,帮助运维和开发人员快速、规范地实现内网穿透。

阅读更多
SpringBoot+Maven多环境配置

SpringBoot+Maven多环境配置

本篇文章深入讲解了在 Spring Boot 项目中,如何通过 Maven 多环境配置,实现开发(dev)、验证(uat)等不同环境下的资源文件管理与构建流程。

文章首先介绍了 pom.xml 中 profiles、build 资源过滤与属性占位的核心设置,详述 profilesActive 参数如何与 application.yml、application-dev.yml、application-uat.yml 等文件关联;

然后借助 IDEA 或 mvn -Pdev、-Puat 等命令行参数,演示了在本地和打包阶段灵活切换环境的操作。

通过一个简单的 DemoController 示例,说明了环境变量对 @Value 注入的影响。该方案让团队能够统一管理多套配置,避免手动拷贝与冲突,大幅提升构建与部署效率,保证环境隔离和一致性,帮助后端开发人员在不同阶段快速切换与验证配置。

阅读更多
校验和验证Linux上传文件的完整性指南

校验和验证Linux上传文件的完整性指南

在Linux服务器运维和软件部署中,文件上传是常见操作。不论是配置文件、脚本、还是大型压缩包(如tar包),文件在上传过程中的完整性都至关重要。网络故障、传输中断或存储异常都可能导致文件损坏,影响系统稳定性和应用可靠性。本文将围绕“如何验证上传文件的完整性”展开,介绍利用校验和对所有上传至Linux环境的文件进行完整性校验的方法,并将tar包作为示例具体演示操作流程。

阅读更多