随笔分类 - 生产维护
摘要:一、概述 1.1 基本定义 负载均衡通过引入调度机制,将单个服务器的负载分散到多台服务器节点,确保每台后端服务器的性能充分发挥,避免单点过载,最终实现集群整体性能最优。对于Web应用而言,它能有效解决高并发场景下的服务瓶颈,同时提升系统的容灾能力。 1.2 负载均衡核心优势 高并发支持:可轻松处理数
阅读全文
摘要:一、概述 Nginx日志是服务器运维与问题排查的核心支撑,能够精准记录客户端请求详情、服务响应状态、处理耗时等关键信息,为故障定位、性能优化、安全审计和流量分析提供可靠数据依据。Nginx具备灵活的日志记录机制,支持多级别配置独立日志、自定义日志格式及缓存优化等功能。 二、日志级别 Nginx日志级
阅读全文
摘要:一、什么是反向代理? 要理解“反向代理”,我们先从更熟悉的“正向代理”对比入手,两者的核心差异在于代理服务器的“服务对象”不同。 1.1 正向代理 正向代理的典型场景是“FQ”或“内网访问外网”。比如你想访问某个境外网站,直接访问会被限制,此时你会连接一个“代理服务器”,由它帮你向目标网站发起请求,
阅读全文
摘要:一、概述 CentOS 7与CentOS 6.x最大的差异之一在于防火墙默认工具:前者采用firewalld作为默认防火墙管理工具,后者则是iptables。本文将详细讲解firewalld的日常配置、iptables的传统用法,以及两种防火墙工具的切换方法,适用于服务器端口开放、安全防护等常见场景
阅读全文
摘要:一、概述 在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或操作一个为null的对象引用时。这种异常不仅会导致程序崩溃,还会增加调试难度。 二、产生原因 2.1 变量未初始化 public class Test { public
阅读全文
摘要:一、概述 proxy_set_header是Nginx配置中用于设置代理请求HTTP头部的指令。当Nginx作为反向代理时,它允许自定义从客户端接收到的请求或添加新的请求头,然后将其转发到后端服务器。这对于维护HTTP协议的连贯性、安全性和功能性至关重要。 proxy_set_header指令的语法
阅读全文
摘要:当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,就会抛出java.lang.NoSuchMethodError错误。简单地说,就是同一个Class有多个版本的实现,并且在运行时调用了缺少方法的那个版本。 一、产生原因 在实际生产系统中,我们主要关注运行时抛出的NoSuc
阅读全文
摘要:每一个JVM线程都拥有一个私有的JVM线程栈,用于存放当前线程的JVM栈帧(包括被调用函数的参数、局部变量和返回地址等)。如果某个线程的线程栈空间被耗尽,没有足够资源分配给新创建的栈帧,就会抛出java.lang.StackOverflowError错误。 一、线程栈运行过程 首先给出一个简单的程序
阅读全文
摘要:一、概述 Nginx是一款高性能的Web服务器,它也能够充当反向代理服务器和负载均衡器。在Web应用开发中,优化网站速度是一个非常重要的工作。使用gzip压缩和解压缩技术,可以有效减小传输文件的大小,提升网站的访问速度。 二、开启gzip压缩 首先,需要在Nginx的配置文件中开启gzip压缩。通常
阅读全文
摘要:当JVM内存严重不足时,就会抛出java.lang.OutOfMemoryError错误。本文总结了常见的OOM原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。 一、Java heap space Java heap space(堆内存溢出),当堆内存(Heap Space)没有足够空间
阅读全文
摘要:一 、环境概述: cat >> /etc/hosts <<EOF 10.0.0.202 master 10.0.0.197 node1 10.0.0.163 node2 EOF 挂载数据盘: mkdir /data mkfs.xfs -f /dev/vdb mount /dev/vdb /data
阅读全文
摘要:一、概述 线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top三连,然后依次jstack、jmap伺候,具体问题具体
阅读全文
摘要:一、简介 负载均衡(Load Balance):指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够
阅读全文
摘要:简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似
阅读全文
摘要:一、 K8S架构 除了核心组件,还有一些推荐的Add-ons: 组件名称 说明 kube-dns 负责为整个集群提供DNS服务 Ingress Controller 为服务提供外网入口 Heapster 提供资源监控 Dashboard 提供GUI Federation 提供跨可用区的集群 Flue
阅读全文
摘要:一、概述 在Linux系统与Java应用排查中,CPU利用率和CPU负载是最易混淆的两个指标,也是定位性能瓶颈的关键入口。本文从基础概念切入,拆解“高负载低利用率”“高利用率低负载”“CPU 100%”等典型场景的排查逻辑,并结合实战案例演示从指标异常到代码根因的定位过程。 二、利用率与负载区别 要
阅读全文
摘要:一、概述 在Java应用和服务出现莫名的卡顿、CPU飙升等问题时总是要分析一下对应进程的JVM状态以定位问题和解决问题并作出相应的优化,在这过程中Java自带的一些状态监控命令和图形化工具就非常方便了。本文总结了最常用的命令行工具及其常用参数解释,图形化监控工具的用法,仅供参考。 命令 说明 常用形
阅读全文
摘要:一、概述 Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个jar包加载的?为什么会报各种类相关的Exception? 我改的代码为什么没有执行到?难道是我没commit?分支搞错了? 遇到问题无法在线上
阅读全文
摘要:一. 路径相关命令 find命令 find [PATH] [option] [action] # 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件; -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名; -mtime -n : 列出在
阅读全文

浙公网安备 33010602011771号