avatar
文章
224
标签
10
分类
10
首页
归档
标签
分类
关于
Logo技术博客
搜索
首页
归档
标签
分类
关于

技术博客

Redis集群离线滚动升级全流程解析,确保业务零中断
发表于2024-10-16|运维手册|运维手册
近期质保部安全扫描发现我们现有 Redis 集群存在安全漏洞,需尽快升级至最新版本进行修复。鉴于 Redis是关键缓存组件,升级过程中需要保证业务系统持续稳定运行,避免任何停机或性能波动。本次升级目标为: 将 Redis 从 7.4.1 升级到...
Nginx获取客户端真实IP的完整解析与实践
发表于2024-09-10|运维手册|运维手册
在现代生产环境中,Nginx 作为反向代理服务器被广泛应用于服务的暴露与负载均衡。尤其是在面对公网访问时,通常会在 Nginx 前端部署 CDN 或云厂商负载均衡器,以提升访问性能与安全性。如何准确获取并传递客户端的真实 IP,成为开发与运维的重要课题。 本文将详细剖析 Nginx 获取客户端真实 IP 的原理、配置方法以及常用变量的使用场景,帮助您在不同协议与架构下正确处理客户端 IP。 反向代理与客户端 IP 获取的基本问题默认情况下,Nginx 并不会自动修改或添加请求头中的 X-Forwarded-For,这意味着: 如果前端的负载均衡器或 CDN 不传递 X-Forwarded-For,Nginx 获取到的客户端 IP 实际上是负载均衡器的 IP。 如果前端已经传递了 X-Forwarded-For,Nginx 会原样保留并转发该请求头。 因此,为确保后端服务能正确识别客户端真实 IP,通常需要根据实际情况对请求头进行配置和调整。 常用变量及其含义理解 Nginx 的内置变量对于正确配置至关重要,以下为关键变量解析: $remote_addr 表示与...
优雅绕过 nginx if 语句限制,实现条件组合判断
发表于2024-09-10|运维手册|运维手册
在使用 nginx 配置复杂业务规则时,经常会遇到 if 语句不支持嵌套和复杂逻辑运算符(如&&、||)的问题。直接写类似下面的条件判断,会导致解析错误: 123if ($arg_unitid = 42012 && $uri ~ /thumb/) { echo "www.yufei.com";} 执行后报错: 1nginx: [emerg] invalid condition 这是由于 nginx 的 if 指令设计上只支持单一条件判断,不支持逻辑与或或的条件组合,也不允许 if 嵌套。本文将介绍如何利用变量间接实现复杂条件组合,从而优雅绕过这一限制。 nginx 中 if 的限制解析nginx 的配置模块中 if 指令只能对单一条件做出判断,且不支持多条件的逻辑组合: 不支持 &&、|| 这类逻辑运算符直接使用 不支持条件嵌套,比如 if 中再写...
Hadoop Yarn常用命令手册
发表于2024-08-29|大数据|大数据
在现代大数据平台中,Hadoop YARN(Yet Another Resource Negotiator)作为资源管理和任务调度的核心组件,极大提升了集群资源的利用率和作业执行效率。为了更好地管理和监控集群应用,掌握常用的 YARN 命令是必不可少的技能。本文将详尽介绍各类实用的 YARN 命令,涵盖应用程序管理、日志查看、容器和节点管理,以及配置更新,助你高效运维 Hadoop 集群。 管理 YARN 应用程序查看当前所有应用程序通过以下命令可以列出 Hadoop 集群中所有正在运行及已完成的 YARN 应用程序,便于对作业整体状况进行监控: 1yarn application -list 按应用状态筛选应用程序YARN 支持根据应用程序的状态进行筛选。例如,查看所有已经完成的应用: 1yarn application -list -appStates FINISHED 此外,常见状态还有 RUNNING、FAILED、KILLED 等,根据需求灵活使用。 终止指定应用程序当某个应用表现异常或需要提前停止时,可以通过如下命令杀死指定作业: 1yarn...
Redis常用命令手册
发表于2024-08-27|大数据|大数据
Redis是一款开源的高性能内存数据库,广泛应用于缓存、消息队列、排行榜等场景。它支持丰富的数据类型和多样化的操作命令,满足不同业务需求。为了帮助开发者快速掌握Redis的核心命令,本文汇总了键值操作、字符串、列表、集合、哈希、有序集合等常用命令,并介绍了Bitmaps、HyperLogLog、Geospatial等新特性,涵盖了Redis服务管理的基本指令。无论是入门学习还是日常使用,这份速览都能成为您高效使用Redis的实用参考。 一、键(Key) 命令 说明 keys * 查看当前库所有key exists <key> 判断某个key是否存在 type <key> 查看key是什么类型 del <key> 删除指定的key数据 unlink <key> 非阻塞删除key(仅将keys从keyspace元数据中删除) expire <key> 10 为给定的key设置过期时间(10s) ttl <key> 查看还有多少秒过期 select...
Flink本地idea与yarn集群配置log4j2日志
发表于2024-08-24|大数据|大数据
在现代分布式系统中,日志记录是确保应用程序稳定性和可维护性的关键部分。Apache Flink作为一款强大的流处理框架,提供了灵活的日志管理功能。本指南将带您了解如何在Flink项目中配置和使用Log4j2,以便在本地和YARN环境中有效地记录日志。通过正确的配置,您可以轻松管理日志输出,监控应用程序的运行状态,并在出现问题时快速定位故障。 环境 名称 版本 centos 7.9 jdk 1.8 flink 1.14.2 hadoop 2.6.0-cdh5.14.2 配置无论是本地运行,还是yarn运行,都需要在项目pom.xml文件中添加如下依赖: 1234567891011121314151617181920212223242526<!-- log4j2依赖 --><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> ...
非SpringBoot环境下Jedis工具操作Redis集群实战指南
发表于2024-08-20|java|java
在现代分布式系统中,Redis 作为高性能的内存数据存储解决方案,广泛被用于缓存、会话管理、排行榜等场景。为了满足高可用和扩展需求,Redis 集群成为首选架构。本文将聚焦于非 Spring Boot 应用环境,如何利用 Jedis 客户端来封装一个功能完备且易用的 Redis 工具类,从而简化对 Redis 集群的操作管理。 引入Jedis依赖首先确保项目构建文件中正确引入 Jedis 依赖。以下示例基于 Maven: 12345<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.1</version></dependency> 该版本提供了对 Redis 集群的良好支持,同时兼容多种功能调用。 构建 Redis 集群工具类设计原则 集中管理 JedisCluster...
利用SpringAOP实现方法执行时间统计与日志记录
发表于2024-08-19|java|java
在现代应用程序开发中,性能监控和日志记录是确保应用程序高效运行和便于调试的关键因素。本文将介绍如何使用Spring AOP(面向切面编程)结合自定义注解,实现对方法执行时间的统计和详细的日志记录。 背景介绍Spring AOP是一种强大的编程范式,可以在不修改原始代码的情况下增强功能。通过定义切面(Aspect),我们可以在方法执行的各个阶段插入自定义逻辑。本例中,我们将使用AOP来记录方法的执行时间和相关信息。 1. 引入依赖123456789101112131415161718192021222324<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> ...
自定义反射工具类,方便通过lambda获取字段相关信息
发表于2024-08-19|java|java
...
浅谈Maven依赖传递中的optional和provided
发表于2024-08-15|杂货小铺|杂货小铺
在现代软件开发中,依赖管理是项目构建的重要环节,尤其在基于 Maven 的构建体系中更显关键。Maven 通过其强大的依赖传递机制,极大地方便了开发者在项目中引入和管理各种第三方库,省去了繁琐的手动配置。然而,依赖传递的便利背后也隐藏着版本冲突和依赖膨胀等诸多挑战。本文将围绕 Maven 依赖传递中的两个重要机制——optional 和 provided,深入解析它们的语义差异及典型应用场景,帮助开发者更合理地控制依赖范围,避免依赖冲突,提升项目的构建效率和维护性。通过本文的探讨,您将对 Maven 依赖管理有更系统的理解与实际操作指导,为构建高质量、稳定的工程奠定坚实基础。 依赖的传递特性带来便利,也可能引发冲突Maven 支持依赖的传递性。当你引入一个依赖 A,且 A 又依赖 B,B 又依赖 C……那么 A、B、C 等依赖都会被自动引入。例如: 123456A├── B│ └── C│ └── D└── E └── D 如果我们依赖 A,则 B、C、D、E 也都会包含在项目中。 然而传递依赖也可能导致版本冲突。比如: 123456A├── B│ ...
1…121314…23
avatar
李博帅
文章
224
标签
10
分类
10
Follow Me
公告
记录自己的学习成长
最新文章
Debian 13 安装 Docker 与最佳配置2026-01-27
Java并发-为什么要区分不同线程池而不使用统一的大线程池2026-01-26
Java并发-彻底搞懂 CompletableFuture 的线程切换规则2026-01-26
Debian 13 开发环境系统优化指南2026-01-23
Flink1.18.1本地idea源码调试环境搭建2026-01-23
分类
  • java51
  • 前端1
  • 大数据24
  • 容器化43
  • 杂货小铺18
  • 环境搭建15
  • 监控预警7
  • 算法8
标签
容器化 杂货小铺 java 监控预警 大数据 前端 计科基础 算法 运维手册 环境搭建
归档
  • 一月 2026 14
  • 十二月 2025 3
  • 十一月 2025 10
  • 十月 2025 1
  • 八月 2025 16
  • 七月 2025 19
  • 六月 2025 22
  • 五月 2025 11
网站信息
文章数目 :
224
运行时间 :
本站总字数 :
388.6k
最后更新时间 :
©2022 - 2026 By 李博帅
框架 Hexo 7.3.0|主题 Butterfly 5.3.5

豫ICP备2025118913号

搜索
数据加载中