自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式限流方案详解:从原理到实践

在高并发分布式系统中,控制在阈值以内。本文系统介绍分布式限流的核心算法、实现方案及最佳实践。

2025-09-27 16:17:57 2150

原创 CPU 缓存一致性

摘要: CPU Cache通过多级缓存(L1/L2/L3)缓解CPU与内存的速度差异,其中L1/L2为各核心独享,L3为共享。数据写入Cache时存在一致性问题,主要采用写直达(同时更新Cache和内存,性能低)和写回(仅更新Cache,替换时才写回内存,性能高)两种策略。多核场景下,需通过写传播和事务串行化保证缓存一致性,如总线嗅探广播数据更新事件,或MESI协议(Modified/Exclusive/Shared/Invalidated)管理Cache Line状态,确保多核数据同步与顺序一致性。

2025-11-26 17:12:12 1132

原创 如何写出让 CPU 跑得更快的代码

本文探讨了CPU Cache的工作原理及其对代码性能的影响。CPU Cache通过多级缓存结构(L1/L2/L3)弥补CPU与内存的速度差距,其中L1缓存分为数据缓存和指令缓存。Cache Line作为基本单位(通常64字节)从内存加载数据,采用直接映射方式存储数据块。当CPU访问数据时,会优先检查Cache,若未命中则从内存加载整个Cache Line。提高缓存命中率是优化代码性能的关键。

2025-11-25 16:38:31 787

原创 为啥磁盘比内存慢几万倍?

计算机存储设备采用分层结构设计,从寄存器、CPU缓存到内存和硬盘,每层在速度、容量和成本上形成互补。寄存器访问最快仅0.5纳秒,L1缓存约1纳秒,而内存延迟达100纳秒,SSD为150微秒,机械硬盘高达10毫秒。性能差距呈指数级:L1比内存快100倍,比SSD快15万倍,比机械硬盘快1000万倍。存储层级遵循"速度递减、容量递增、成本递减"原则,相邻层级直接交互。这种设计通过高速缓存高频数据,平衡了系统性能与存储成本,使计算机能高效处理海量数据。

2025-11-25 11:57:13 1288

原创 ping的工作原理

要研究 ping 的工作原理,得先从 ICMP 说起。

2025-10-24 19:50:12 721

原创 TCP如何优化

本文从三个角度探讨了TCP性能优化策略: 三次握手优化: 客户端通过调整tcp_syn_retries参数优化SYN超时重传 服务端需要同时调整tcp_max_syn_backlog、somaxconn和backlog参数来增大半连接队列 采用TCP Fast Open技术可绕过后续连接的三次握手,减少1个RTT延迟 四次挥手优化: 分析了FIN和ACK报文在四次挥手过程中的作用 详细描述了连接状态变迁过程(FIN_WAIT1→FIN_WAIT2→TIME_WAIT等) 数据传输优化: (内容待补充) 文中

2025-10-11 19:31:33 798

原创 探秘TCP全连接队列和半连接队列

本文介绍了TCP连接中的全连接队列和半连接队列,分析了它们的溢出情况及应对策略。全连接队列溢出时,Linux内核可通过tcp_abort_on_overflow参数选择丢弃ACK或发送RST包;增大队列需要调整somaxconn和backlog参数。半连接队列溢出时可启用syncookies功能,其大小受max_syn_backlog、somaxconn和backlog共同影响。文章还提供了查看队列状态的方法和防御SYN攻击的措施,包括增大队列、启用syncookies和减少SYN+ACK重传次数等。这些知

2025-10-10 17:43:18 819

原创 高并发的哲学原理-网络资源高并发

摘要: 本文探讨了互联网流量激增推动的Web服务器技术演进,重点分析了Apache和Nginx的架构差异。Apache通过prefork、worker和event三种进程模式逐步优化,但仍受限于进程/线程模型;Nginx则凭借epoll异步非阻塞模型实现高并发。文章深入解析了I/O处理机制,从同步阻塞到非阻塞再到多路复用(select/epoll),指出epoll通过红黑树和事件回调解决了select的性能瓶颈。最后介绍了负载均衡原理(四层转发)与应用网关(七层路由)的核心功能,包括五元组映射和动态流量管理

2025-09-29 19:10:31 566

原创 高并发的哲学原理-计算资源高并发

摘要: 运维的核心价值在于资源隔离而非扩充。基础设施并发管理经历了三代技术演进:1) 服务器虚拟化实现资源隔离与高可用;2) 容器化通过Chroot、Namespaces、Cgroups和应用封装实现精细控制;3) 容器编排(如K8S)实现云原生部署。SpringCloud作为过渡方案,在应用层提供微服务支持。编程语言的并发能力差异显著,如PHP全阻塞、Node.js非阻塞I/O、Go协程和Java多线程。技术选型需结合基础设施与语言特性。(149字)

2025-09-29 17:40:34 480

原创 高并发的哲学原理-通用设计篇

高并发系统优化策略与场景应用 本文系统阐述了高并发优化的核心思想与方法。关键技术手段包括:动静分离、负载均衡、数据库优化、缓存使用、异步编程等9大策略。针对典型应用场景提出了具体解决方案:电商大促通过CDN加速、弹性扩容、消息队列等应对订单、库存问题;社交网络采用缓存优化、异步处理;金融领域注重安全性;游戏和音视频领域则分别侧重实时计算和带宽优化。文章呈现了一套完整的高并发处理框架,涵盖技术架构设计与业务场景适配的解决方案。

2025-09-29 17:37:37 268

原创 TCP协议实战抓包分析

本文通过实战抓包分析TCP协议的核心机制。介绍了tcpdump和Wireshark两大抓包工具的使用方法,重点解析了TCP三次握手和四次挥手的完整过程及异常处理机制。通过三个实验详细演示了TCP握手过程中不同阶段丢包的重传行为及其内核参数控制,并探讨了TCP快速建立连接、重复确认与快速重传、流量控制滑动窗口等核心特性。最后解释了Nagle算法和延迟确认机制的工作原理及其优化网络传输效率的方式。全文采用实验与理论结合的方式,深入浅出地揭示了TCP协议的运行机制。

2025-09-29 17:28:35 570

原创 TCP重传、滑动窗口、流量控制、拥塞控制

TCP协议通过多种机制确保可靠传输和高效通信。重传机制包括超时重传、快速重传、SACK和D-SACK,解决数据丢失问题;滑动窗口通过动态调整窗口大小提高传输效率;流量控制根据接收方处理能力调节数据量;拥塞控制采用慢启动、拥塞避免等算法防止网络过载。这些机制共同保障了TCP的可靠性、稳定性和高效性,为互联网通信奠定基础。

2025-09-29 17:23:31 285

原创 TCP三次握手与四次挥手

TCP协议是面向连接、可靠的传输层协议,通过三次握手建立连接和四次挥手断开连接。其头部包含序列号、确认应答号和控制位(ACK/SYN/FIN等),确保数据传输的可靠性和有序性。TCP与UDP在连接方式、可靠性和首部开销等方面存在显著差异。三次握手能避免历史连接、同步序列号并防止资源浪费;若报文丢失会触发超时重传机制。SYN攻击可通过调整内核参数防范。四次挥手过程中,TIME_WAIT状态需等待2MSL时间确保连接彻底关闭。TCP通过MSS协商避免IP分片,提高传输效率。

2025-09-29 17:20:12 1833

原创 HTTP与WebSocket

摘要:HTTP协议难以实现服务器主动推送数据,常见的定时轮询和长轮询方案存在带宽消耗大、响应延迟等问题。WebSocket作为基于TCP的全双工协议,通过HTTP升级握手建立连接后,支持客户端与服务器双向实时通信。其数据帧包含opcode、payload等字段,适用于网页游戏、聊天室等需要频繁交互的场景。相比HTTP的半双工模式,WebSocket能提供更高效的实时数据传输体验。

2025-09-29 17:15:32 439

原创 Http与RPC

文章摘要:本文对比了TCP、HTTP和RPC三种通信方式。TCP可靠但需要自定义消息边界协议;HTTP主要用于浏览器-服务器通信,使用JSON序列化;RPC则像调用本地方法一样调用远端服务,采用更高效的二进制协议。HTTP依赖DNS服务发现,RPC通过中间服务获取IP;HTTP1.1复用TCP连接,RPC使用长连接池;RPC性能通常优于HTTP1.1。随着架构融合,系统常对外使用HTTP,内部微服务采用RPC,而HTTP/2性能可能超越部分RPC协议。

2025-09-29 17:12:51 268

原创 HTTP3强势来袭

HTTP3通过QUIC协议取代TCP,解决了HTTP2的队头阻塞、高延迟和网络迁移问题。QUIC基于UDP,实现多Stream独立传输、1/0-RTT快速握手和连接ID迁移机制。HTTP3简化帧结构并升级为QPACK头部压缩。这些改进显著提升了网络性能,特别适合移动场景,预示着更流畅的网络体验即将到来。

2025-09-29 17:09:03 304

原创 Http2.0优势在哪

HTTP/2协议通过多项改进显著提升网络性能:1)采用HPACK算法压缩头部,减少冗余;2)引入二进制帧结构提高传输效率;3)实现多路复用,解决HTTP/1.1队头阻塞问题;4)支持服务器主动推送资源。这些优化使HTTP/2在保持对HTTP/1.1兼容性的同时,大幅降低延迟、提高吞吐量。不过基于TCP的传输层仍存在限制,这促使了HTTP/3向QUIC协议的演进。

2025-09-29 17:02:05 485

原创 HTTPS如何优化

HTTPS优化可从硬件、软件、证书和会话复用四方面入手。硬件上选用支持AES-NI的CPU;软件方面升级内核和OpenSSL,采用ECDHE算法和TLS1.3协议;证书优化使用ECC证书和OCSP Stapling技术;会话复用通过Session ID、Session Ticket和TLS1.3的Pre-shared Key实现,但需注意安全风险。这些措施可显著降低HTTPS性能损耗,提升加密通信效率。

2025-09-29 16:54:23 561

原创 HTTPS ECDHE握手解析

本文解析HTTPS中ECDHE握手过程。首先对比RSA和ECDHE密钥交换算法,指出ECDHE具有前向安全性优势。然后介绍ECDHE的数学基础——离散对数和椭圆曲线特性,说明其安全机制。重点阐述ECDHE的四次TLS握手步骤:客户端和服务端交换随机数、椭圆曲线参数及公钥,最终生成会话密钥。ECDHE相比RSA不仅更安全,还能通过"TLS False Start"提升性能。整个过程通过临时密钥保证前向安全性,是当前HTTPS连接的主流选择。

2025-09-29 16:50:46 1662

原创 HTTPS RSA握手解析

HTTPS通过TLS协议解决HTTP的安全风险,采用RSA握手流程建立加密通信。握手过程包括四次交互:客户端和服务端交换随机数,验证证书,生成共享密钥(Client Random、Server Random、pre-master),最终使用会话密钥加密通信。RSA算法存在前向保密缺陷,若私钥泄露历史通信可能被破解,建议采用ECDHE密钥协商算法支持前向保密。完整的TLS握手需要两个RTT时延,确保信息加密传输、防篡改和身份验证。

2025-09-29 16:19:17 285

原创 HTTP/1.1如何优化

HTTP/1.1优化可从三方面入手:1)避免发送请求,通过缓存技术存储重复请求的响应数据;2)减少请求次数,包括优化重定向、合并小文件请求、延迟加载资源;3)压缩响应数据,使用无损压缩(gzip/Brotli)处理文本文件,有损压缩处理多媒体数据(WebP图片等)。这些方法能显著提升HTTP/1.1的网络性能。

2025-09-29 16:09:51 433

原创 HTTP常见知识点

HTTP是超文本传输协议,具有简单、灵活、跨平台等特点。常见状态码包括200(成功)、404(未找到)和500(服务器错误)等。GET与POST方法在参数传递、安全性上有差异,GET是安全且幂等的。HTTP缓存分为强制缓存和协商缓存两种实现方式。HTTP/1.1支持长连接但存在队头阻塞问题,而HTTPS通过加密解决了HTTP的安全隐患。HTTP/2引入头部压缩和并发传输,HTTP/3基于QUIC协议进一步优化了性能。这些演进使HTTP协议在传输效率和安全性上不断提升。

2025-09-29 15:56:05 756

原创 Linux系统是如何收发网络包的

本文详细介绍了Linux系统处理网络包的完整流程。首先对比了OSI七层模型和TCP/IP四层模型,指出Linux采用后者实现网络协议栈。接着解释了网络包在传输过程中的分层封装机制和MTU限制。重点阐述了Linux接收网络包的5个步骤:DMA写入、硬件中断、软中断处理、协议栈解析和交付应用;以及发送网络包的6个流程:数据拷贝、协议处理、TCP重传准备、网络层路由、MAC地址获取和中断发送。最后指出该过程中存在3处重要的内存拷贝操作,影响系统性能。

2025-09-29 15:47:19 422

原创 从URL输入到网页显示:揭秘背后的网络世界

从输入URL到网页显示,背后涉及复杂的网络通信过程。浏览器首先解析URL并生成HTTP请求;通过DNS查询获取服务器IP地址;操作系统协议栈将请求封装成数据包,经过TCP三次握手建立可靠连接;IP协议和MAC地址确保数据包正确路由;网卡将数据转换为电信号发送;交换机和路由器转发数据包至服务器;服务器处理请求后返回响应;浏览器最终解析并渲染页面内容。整个过程涉及多个协议层和网络设备协同工作,实现了看似简单的网页浏览体验。

2025-09-29 15:30:39 615

原创 经典的TCP/IP四层网络模型

四层网络模型为跨网络通信提供了标准化协议框架。应用层直接面向用户,提供HTTP、FTP等服务;传输层通过TCP(可靠连接)和UDP(高效传输)协议支持应用层;网络层使用IP协议进行数据包路由,通过子网掩码划分网络号和主机号;网络接口层处理物理传输,通过MAC地址标识设备。各层协同工作,确保数据从源到目的地的可靠传输,其中TCP/IP协议族是关键实现。

2025-09-29 15:21:32 676

空空如也

空空如也

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

TA关注的人

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