自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 NoSQL之redis哨兵

客户端需通过哨兵获取主节点地址,而不是直连主节点。客户端通过哨兵获取当前的主节点地址(无需手动修改配置)。领导者哨兵选择一个合适的从节点(如数据最新、优先级高)。持续检查主节点和从节点的运行状态(是否存活、延迟等)。:所有节点使用相同 Redis 版本(避免兼容问题)。当主节点不可用时,自动选举一个从节点升级为主节点。每个哨兵每秒向所有节点(主/从/其他哨兵)发送。将旧主节点更新为从节点(若恢复则自动切换角色)。数量)都认为主节点主观下线,则主节点被标记为。更新其他从节点和客户端的配置指向新主节点。

2025-06-06 18:58:59 648

原创 NoSQl之Redis配置与优化

auto-aof-rewrite-percentage 100 # AOF文件增长100%后触发重写。数据结构丰富:Strings、Lists、Hashes、Sets、Ordered Sets。<1:发生内存交换(Swap),需增加物理内存或减少数据量。集群分片:应对海量数据(如Twemproxy/Codis)。原子操作、主从备份(master-slave)、高可用。高性能:读110,000次/秒,写81,000次/秒。缓存加速、实时排行榜、计数器、会话管理、实时分析系统。(RDB文件压缩)。

2025-06-05 15:15:31 707

原创 Kafka消息队列笔记

集群元数据管理(旧版依赖 ZooKeeper,新版 Kafka 3.0+ 使用 KRaft 模式去 ZooKeeper)。:所有 ISR(In-Sync Replicas)副本确认(强一致)。:分区副本(Leader 处理读写,Follower 同步备份)。:KRaft 模式(取代 ZooKeeper,简化部署)。消费者:增加分区数(上限受限于 Broker 资源)。:订阅 Topic 并消费消息(支持消费者组并行)。方案:相同 Key 发到同一分区(业务层保序需求)。

2025-06-04 15:46:48 925

原创 nginx+tomcat负载均衡群集

确保 Nginx 服务器的 80/443 端口开放,并且 Nginx 能访问所有 Tomcat 节点的指定端口(如 8080),Tomcat 节点之间如果通信(Session 复制)也需要开放相应端口。# 格式: server <tomcat_server_ip>:<tomcat_port> [weight=数值] [max_fails=数值] [fail_timeout=时间];

2025-06-03 12:03:18 1602

原创 使用Haproxy搭建Web群集

echo "show stat" | socat stdio /var/run/haproxy/admin.sock # 实时状态:cite[2]echo "Server 1" > /usr/share/nginx/html/index.html # 服务器1标识。echo "Server 2" > /usr/share/nginx/html/index.html # 服务器2标识。tail -f /var/log/haproxy-info.log # 查看健康检查日志。

2025-06-02 20:59:39 919

原创 LVS-Keepalived高可用群集

LVS + Keepalived 是一个强大、高效且成熟的四层高可用负载均衡解决方案。它特别适合处理高流量、对性能要求苛刻且需要高可用性的场景(如 Web 前端、API 网关、缓存层等)。虽然配置(尤其是 DR 模式)相对复杂并需要注意网络拓扑和 ARP 问题,但其卓越的性能和稳定性使其在基础设施领域占据重要地位。理解其工作原理和不同模式的特点对于成功部署和维护至关重要。

2025-05-29 16:24:11 1774

原创 LVS-DR群集

LVS-DR(Linux Virtual Server - Direct Routing)是一种高性能的负载均衡集群架构,通过直接路由技术将请求分发到后端真实服务器(Real Server),并允许响应数据。ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g # 添加Real Server,-g表示DR模式。:Real Server需配置为不响应VIP的ARP请求,避免IP冲突。(不经过负载均衡器)。,将请求转发给选中的Real Server。

2025-05-28 14:36:23 735

原创 LVS负载均衡群集

它通过将客户端请求分发到多台后端服务器(Real Server)来实现负载均衡,提升系统的吞吐量、可用性和可扩展性。负载均衡器仅修改请求的MAC地址,将数据包直接路由到后端服务器,响应数据由后端服务器直接返回客户端(不经过负载均衡器)。负载均衡器修改请求和响应的IP地址,将客户端请求的VIP转换为后端服务器的RIP,并将响应数据包的源IP改回VIP。负载均衡器通过IP隧道(IPIP封装)将请求转发到后端服务器,后端服务器解封装后直接响应客户端。实际处理请求的后端服务器群,可以是Web服务器、应用服务器等。

2025-05-27 23:19:38 666

原创 python网络编程

server_socket.sendto("消息已收到".encode(), addr) # 发送响应。print(f"收到来自 {addr} 的消息: {data.decode()}")client_socket.send("消息已收到".encode()) # 发送响应。writer.write(f"收到: {message}".encode())print(f"服务器回复: {response.decode()}")print(f"服务器回复: {response.decode()}")

2025-05-27 00:18:33 649

原创 python操作MySQL数据库

cursorclass=pymysql.cursors.DictCursor # 返回字典格式的结果。cursor = conn.cursor(dictionary=True) # 返回字典格式结果。host='localhost', # 数据库地址。database='testdb', # 数据库名。user='root', # 用户名。conn.commit() # 提交事务。conn.commit() # 提交事务。conn.commit() # 提交事务。

2025-05-27 00:15:05 588

原创 初识flask框架

source myenv/bin/activate # Linux/macOS激活。myenv\Scripts\activate # Windows激活。python -m venv myenv # 创建虚拟环境。:使用Flask-WTF内置的CSRF保护。:确保安装Python 3.6+版本。文件或系统环境变量存储敏感信息(如。:作为反向代理和静态文件服务器。,存放CSS、JS、图片等。:保护会话和Cookies。:始终验证和清理用户输入。:构建REST API。

2025-05-24 00:38:23 765

原创 python实现web请求与回复

print("请求失败,状态码:", response.status_code)print("POST响应JSON:", response.json())print("GET响应状态码:", response.status_code)• requests.get()/requests.post() 发送请求。print("GET响应内容:", response.text)• response.json() 解析JSON响应。# 发送POST请求(JSON数据)# 处理POST请求(JSON数据)

2025-05-22 22:32:58 922

原创 postgresql日常维护

log_statement = 'all' -- 可选(调试用,生产环境慎用)autovacuum_vacuum_cost_limit = 2000 # 提高自动清理效率。log_min_duration_statement = 1000 -- 记录超过1秒的查询。\dp table_name -- 查看表权限。log_rotation_age = 1d -- 每日轮转。结合Shell/Python脚本定期执行维护任务。

2025-05-21 11:24:54 694

原创 postgresql初体验

sudo nano /etc/postgresql/14/main/postgresql.conf # 路径版本可能不同。psql -h localhost -U myuser -d mydb # 指定用户和数据库连接。sudo -u postgres psql # 直接以postgres用户运行psql。PostgreSQL默认创建名为postgres的系统用户。# 允许所有IPv4连接(生产环境建议限制IP)-- psql命令行帮助。\h -- SQL命令帮助。

2025-05-21 00:28:09 310

原创 MYSQL故障排查和环境优化

监控工具:Percona Monitoring或Prometheus+Grafana10。:通过主从复制分离读/写流量,使用中间件(如ProxySQL)1410。:选择多核高主频处理器(如Intel Xeon),支持高并发处理17。:使用SSD或RAID 10阵列,避免RAID 5(写性能差)157。:MySQL未启动或端口被防火墙拦截。(占物理内存70%~80%)157。:按业务拆分大表,减少单表压力14。)或开放端口(如3306)367。提升连接速度(需改用IP授权)8。:非正常关机或磁盘空间不足。

2025-05-19 22:41:21 833

原创 mysql的高可用

2台HAProxy + Keepalived服务器(haproxy1: 192.168.1.103,haproxy2: 192.168.1.104)2台MySQL服务器(node1: 192.168.1.101,node2: 192.168.1.102)虚拟IP(VIP: 192.168.1.100)

2025-05-18 16:37:36 462

原创 MySQL主从复制与读写分离

主库(Master):处理写操作,并将数据变更记录到二进制日志(Binary Log, binlog)。从库(Slave):通过IO线程从主库拉取binlog,保存为中继日志(Relay Log),再由SQL线程重放日志,实现数据同步。复制模式:异步复制(默认):主库不等待从库确认,性能高,但存在数据丢失风险。半同步复制:主库至少等待一个从库接收binlog后才提交事务,平衡性能与安全性。全同步复制:需所有从库确认,延迟高,较少使用。主库配置:# my.cnfserver-id=1log-bin=my

2025-05-15 23:55:20 727

原创 MySQL主从复制

复制延迟:SHOW SLAVE STATUS 中的 Seconds_Behind_Master。Last_IO_Error/Last_SQL_Error: 无错误。将从库设为新主库:SET GLOBAL read_only=0;:从库通过I/O线程读取主库的Binlog,写入本地中继日志。Slave_SQL_Running: Yes(SQL线程正常)Slave_IO_Running: Yes(I/O线程正常):从库的SQL线程读取中继日志并重放操作,实现数据同步。:网络延迟、从库性能不足、大事务。

2025-05-13 15:21:03 894

原创 MySQL备份与事务

检查备份文件完整性(如 grep "Dump completed" backup_full.sql)。InnoDB 使用 --single-transaction 避免锁表。MyISAM 需使用 --lock-all-tables。),适用于大型数据库,速度快但依赖存储引擎。:记录所有数据更改操作,需结合全量备份使用。记录二进制日志位置(用于增量恢复)准备恢复(合并所有增量到全量备份)第一次增量备份(基于全量备份)后续增量备份(基于前一次增量)备份所有数据库(包含系统库)异地存储(云存储、NAS)。

2025-05-12 15:48:26 549

原创 MySQL 索引与事务详解

用 EXPLAIN 查看 type(访问类型)、key(使用索引)、Extra(是否覆盖索引)。:索引 (a, b, c) 可生效于 a, a+b, a+b+c,但无法单独使用 b 或 c。RR 使用事务启动时的 ReadView。:DB_TRX_ID(事务ID)、DB_ROLL_PTR(回滚指针)。:使用前缀索引(如 INDEX(column(10)))减少存储。:事务提交时先写 redo log(顺序写,高性能),再异步刷盘。:O(1) 时间复杂度,仅支持精确匹配(=),不支持范围查询。

2025-05-11 22:48:26 699

原创 数据库操作

示例:一个电商系统可能包含 user_db(用户数据)、order_db(订单数据)等。操作数据:INSERT, UPDATE, DELETE, SELECT。定义数据库结构:CREATE, ALTER, DROP。设计原则:遵循数据库范式(如第一范式:字段不可再分)。结构化数据的集合,由行(记录)和列(字段)组成。提高查询速度的数据结构,但会增加写操作的开销。类型:主键索引、唯一索引、普通索引、全文索引。控制权限:GRANT, REVOKE。数据的逻辑容器,用于分类管理数据。执行操作(如插入、更新)

2025-05-09 22:01:52 832

原创 MySQL初体验

避免使用 root 账户日常操作,建议创建普通用户并授权。:通过“服务”管理工具启动 MySQL80 服务。:在代码中避免拼接 SQL 语句,使用参数化查询。:下载官方安装包或使用包管理工具。通过图形界面操作数据库更直观。下载安装程序,按向导安装。显示当前数据库的所有表。

2025-05-09 01:08:18 682

原创 nginx性能优化与深度监控

client_body_buffer_size和client_header_buffer_size:调整请求体与头缓冲区(如16k/4k),避免大请求导致的错误。SSL优化:使用TLS 1.3、高性能加密套件(如TLS_AES_128_GCM_SHA256),并开启会话复用。net.ipv4.tcp_tw_reuse和tcp_tw_recycle(加速TIME_WAIT连接回收)根据场景选择算法:轮询(默认)、最少连接(least_conn)、IP哈希(ip_hash)

2025-05-07 22:18:43 777

原创 Nginx安全防护与HTTPS部署实战

使用curl -vI https://your-domain检查协议版本。攻击者可能利用特定版本的漏洞发起攻击。监控access.log和error.log,识别异常请求。burst=20:允许突发20个请求排队,超限返回503。:减少握手时间(需OpenSSL 1.1.1+)rate=10r/s:每秒允许10个请求。:从阿里云、DigiCert等平台申请。禁用不安全的请求方法(如。:提升并发性能,减少延迟。及以上,禁用不安全协议。三、高级安全与性能优化。一、基础安全防护配置。中是否有被拦截的请求。

2025-05-06 23:41:23 1181

原创 nginx核心功能

采用单线程或多进程(基于配置)的事件驱动架构,通过 epoll(Linux)、kqueue(BSD)等机制高效处理并发连接。如 ngx_http_ssl_module(SSL 支持)、ngx_http_geoip_module(IP 地理定位)。主进程(Master)负责管理配置和协调工作进程(Worker),Worker 进程处理实际请求,提升稳定性与扩展性。动态加载模块(Nginx 1.9.11+),如 ngx_http_lua_module(Lua 脚本支持)。

2025-05-06 00:23:08 640

原创 Nginx 核心功能笔记

重新加载配置(不中断服务)

2025-04-29 22:56:11 1136

原创 web技术与nginx网站服务

停止服务:cite[1]:cite[4]在http块中配置:cite[10]# 编译配置(常用模块)

2025-04-28 23:26:14 1109

原创 Python函数与模块笔记

常用模块(keyword、random、sys、time)仅支持单行表达式,不能包含复杂逻辑(如循环、条件分支)。:包含__init__.py的目录,用于组织模块。:模块顶层定义,所有函数可访问。:函数内部定义,仅函数内有效。:初始化包(可包含公共代码)。:包含函数/类的.py文件。默认参数需在位置参数之后。:局部变量 > 全局变量。:指定形参名,顺序无关。:在函数内声明全局变量。:实参个数需与形参一致。函数定义需在调用之前。函数体代码需正确缩进。函数名不能以数字开头。:必须先定义后调用。

2025-04-24 21:54:16 820

原创 Python流程控制

第一章:条件控制语句(错误:修改迭代中的列表。基本格式(注意冒号和。

2025-04-23 19:19:14 505

原创 Python简介与入门

Python是一种动态解释型的编程语言简单易学,功能强大,支持面向对象,函数式编程可在Windows,Linux等多种操作系统平台使用可在Java,net等开发平台使用Python语言特点属于高层语言简单,易学,免费,开源可扩展性,可嵌入性面向对象,丰富的库Python的应用场景系统编程图形处理数学处理文本处理数据库编程网络编程Web编程多媒体应用。

2025-04-22 21:18:26 935

原创 系统安全及应用

编辑 /etc/security/pwquality.conf,设置最小长度(minlen=12)、字符类型(minclass=4)等规则。全局配置:修改 /etc/login.defs,设置 PASS_MAX_DAYS=90(密码最长使用天数)。限制历史记录条数(/etc/profile 中设置 HISTSIZE=100)。限制 root 仅能在特定终端登录(修改 /etc/securetty)。设置登录警告横幅(编辑 /etc/issue.net)。

2025-04-21 20:49:20 713

原创 firewalld防火墙

先添加临时规则测试,确认无误再设为永久。永久配置:写入配置文件,重启后保持。系统上的动态防火墙管理工具,作为。运行时配置:立即生效,重启后丢失。支持动态更新规则而无需重启服务。:所有传入连接被丢弃,无回复。:非军事区,有限访问内部网络。:所有传入连接被拒绝,返回。:默认区域,仅接受指定连接。预定义的端口和协议组合(如。:用于外部网络,伪装启用。重载配置(永久规则生效):只开放必要的端口和服务。接口支持运行时配置更改。添加服务到区域(临时):根据网络环境分配不同。预定义的网络信任级别。

2025-04-19 21:02:19 745

原创 iptabels防火墙

编写iptables规则时使用“--sport 源端口”或“--dport 目标端口”的形式,针对的协议为TCP或UDP,用来检查数据包的源端口(--source-port)或目标端口(--destination-port)。匹配条件用来指定要处理的数据包的特征,不符合指定条件的数据包将不会处理;“-m iprange --src-range IP范围”,“-m iprange --dst-range IP范围”的形式用来检查数据包的源地址,目标地址,其中IP范围采用“起始地址-结束地址”的形式表示。

2025-04-17 20:30:57 1284

原创 Shell编程之正则表达式与文本处理器

正则表达式又称正规表达式,常规表达式。在代码中常简写为regex,regexp,RE。是使用单个字符穿串来描述,匹配 一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找,删除,替换某个特定字符串。正则表达式是由普通字符与元字符组成的文字模式,一般用于脚本编辑与文本编辑中(普通字符:包括大小写字母,数字,标点符号及一些其他符号。元字符:指那些在正则表达式中具有特殊意义的专用字符)(Linux中常见的文本处理器:grep,egrep,sed,awk)

2025-04-16 12:28:08 974

原创 Shell编程之函数与数组

Shell函数可用于存放一系列的指令Shell函数定义的方法:[function] 函数名() {命令序列[return x](“function”:表示定义一个函数,可以省略)(“{”:表示函数执行命令的入口,该符号可以与函数名同行也可以在函数名下一行的句首)(“}”:表示函数体结束,两个大括号之间{}是函数体)(“命令序列”:可以是任意的shell命令,也可以调用其他函数;

2025-04-15 18:37:00 819

原创 Shell编程之循环语句

While语句的执行流程:首先判断while后的条件测试操作结果,如果条件成立,则执行do……Until语句的执行流程:首先判断until后的条件测试操作结果,如果条件不成立,则执行do……使用true作为条件时,表示条件永远成立,循环体内的命令序列将无限执行下去,除非强制终止脚本(或通过exit语句退出脚本);Until循环与while循环类似,while循环能实现的脚本until同样也可以实现,但区别是while循环在条件为真时继续执行循环,而until则是在条件为假时执行循环。

2025-04-14 12:25:07 535

原创 Shell编程之条件语句

如果条件1不成立,则继续判断条件测试操作2的结果,如果条件2成立,则执行命令序列2,然后跳至fi结束判断。双分支if语句的执行流程:首先判断条件测试操作的结果,如果条件成立,则执行then后面的命令序列1,忽略else及后面的命令序列2,直到遇见fi结束判断;单分支if语句的执行流程:首先判断条件测试操作的结果,如果返回值为0,表达式成立,执行then后面的命令序列,一直到遇见fi结束判断为止,继续执行其他脚本代码;指的是根据给定的两个整数值,判断第一个数和第二个数的关系,如是否大于,等于,小于第二个数。

2025-04-11 20:19:52 1222

原创 Shell编程规范与变量

介于操作系统内核与用户之间,充当一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果是由系统用户自己定义的变量,只在用户自己的Shell环境中有效,又被称为本地变量定义变量的基本格式为“变量名=变量值”,等号两边没有空格。变量名称需以字母或下划线开头,名称中不要包含特殊字符用户只能使用预定义变量,而不能创建新的预定义变量$0:当前脚本的名称。$∗:当前脚本的所有参数(不包括程序本身)。$#:当前脚本的参数个数(不包括程序本身)。

2025-04-10 12:27:52 1093

原创 PXE高效批量网络装机

PXE技术基于Client/Server模式运作,客户机需具备支持PXE协议的网卡(集成BOOTPROM芯片),且主板需支持网络引导。

2025-04-09 12:10:16 788

原创 DNS域名解析服务

DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户提供正向或反向的地址查询服务,即正向查询与反向查询。主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域唯一存在的权威服务器,官方服务器。缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己已控制的区域地址数据。从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。

2025-04-08 19:11:43 629

【Python开发工具】Python代码格式化插件Black Formatter使用指南:解决代码排版与复制问题

代码进行格式化,使其符合规范标准,便于阅读和维护。重点介绍了Black Formatter插件,它能内容自动调整代码风格概,统一代码格式要:本文档主要。此外,还介绍了Python代码格式化的方法与相关提到了在将高亮代码复制插件的使用。通过按下组合到WPS时遇到的问题,即键Shift+Alt空格符号会+F可对Python从点变为圈代码进行格式化,从而引发代码,使其符合规范错误,并指出可以在设置中调整复制标准,提高代码的可读性和整洁度。文档还提到了Black Formatter这款插件,它能够帮助开发者自动调整代码风格,确保一致性选项来解决这一问题。; 适合人群:所有Python开发者,尤其是关注代码风格统一和格式化的程序员。; 使用场景及。此外,文中指出了一个常见问题:当复制目标:①希望快速高效地对Python代码进行格式化,提高带有高亮的Python代码到W代码可读性和PS文档时,空格符号可能会一致性;②解决在特定办公异常显示为圆软件(如W圈而非正常的点,这会影响代码PS)中复制代码时出现的的正确性。显示问题。; 为解决这一问题其他说明:建议用户在日常开发,建议在设置中选择合适的复制过程中养成使用代码选项以保持代码格式化工具的习惯格式的完整性。,同时注意不同; 适合人群:环境下代码展示的Python程序员,尤其是兼容性问题。那些希望提升代码质量、改善代码风格以及遇到代码复制粘贴问题的开发者。; 使用场景及目标:①需要快速整理Python代码格式,使其更加规范;②解决从编辑器向办公软件复制代码时出现的格式错乱问题。; 阅读建议:在使用Python开发环境中,熟练掌握快捷键操作和插件配置,有助于提高工作效率。针对代码复制过程中出现的问题,及时调整设置选项,保证代码的准确性和可读性。

2025-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除