zhangphh的博客
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

http多版本间区别

1.对头阻塞是什么 队头阻塞是指:前面的请求或响应未完成,导致后面的请求或响应被阻塞,不能继续处理 1.2 HTTP/1.1 中的队头阻塞问题: 虽然 HTTP/1.1 支持持久连接(Keep-Alive),但在同一个 TCP 连接中,请求必须串行发送,响应也必须按顺序返回。 如果前一个响应较慢,就会阻塞后续响应的发送,即使后续请求可以很快处理也得排队。 为了缓解这个问题,浏
2025-08-30
学习笔记
#网络

TLS加密过程

整理基于TLS 1.2 TLS 握手主要包含两个阶段的加密机制: 非对称加密用于:证书验证 + 密钥交换(加密 pre-master secret) 对称加密用于:实际数据传输(HTTP 内容) + 握手完成消息的加密校验 1.整个 TLS 1.2 握手过程如下:1.1 TCP 连接建立客户端与服务器先通过TCP三次握手建立可靠连接 1.2 ClientHello(客户端发起)客户端发送:
2025-08-30
学习笔记
#网络

redis数据结构

redis 数据结构1 SDS 简单动态字符串 len 字段,O(1)获取长度,二进制安全 alloc 字段,分配的空间长度 flags sds类型 sdshdr5、sdshdr8、sdshdr16、sdshdr32、sdshdr64,五种类型结构体灵活保存不同长度字符串 取消内存对齐,进一步节省内存 buf数组,字节数组,不仅可以保存字符串,还能保存二进制数据 扩容规则 新长度 <
2025-08-30
学习笔记
#中间件 #Redis

输入URL到网页显示中间发生了什么

1.精简版回答:当浏览器输入 URL 后,整个流程大致如下: URL 解析:浏览器解析 URL,提取协议、主机名、端口和路径信息。 DNS 解析:通过本地缓存或 DNS 查询将域名解析为目标服务器的 IP 地址。 建立 TCP 连接(三次握手):使用解析到的 IP 地址,通过 TCP 协议与目标服务器建立连接。 IP 层处理与路由寻址:TCP 报文封装进 IP 数据报,由 IP 层根据路由
2025-07-25
学习笔记
#网络

MySQL innodb锁机制原理

1.锁的类型1.1 占有模式 共享锁 Share Lock/S锁 排他锁 Exclusive Lock/X锁 S X S 兼容 不兼容 X 不兼容 不兼容 对行记录加X锁insert、update、delete以及显式的 for update 语句都会对行记录加X锁 1234select * from table_name where id = 1
2025-06-07
学习笔记
#MySQL

kafka分区重分配与Rebalance过程

1.Kafka分区重分配Kafka分区重分配是Kafka集群管理中的一个重要操作,它涉及将分区从一组broker移动到另一组broker。下面我将详细分析分区重分配的触发场景、策略以及可能带来的问题。 1.1 分区重分配的触发场景 集群扩容 :当向Kafka集群添加新的broker节点时,需要将现有分区重新分配到新节点上以实现负载均衡 broker下线 :当需要下线某个broker时,需要将该br
2025-05-31
学习笔记
#中间件 #kafka

Kafka Controller控制器

Kafka Controller控制器职责Kafka Controller是Kafka集群中的一个核心组件,负责管理和协调整个集群的状态。在Kafka集群中,只有一个broker会被选举为Controller,它承担着集群管理的重要职责。 1.Controller的主要职责1.1 Broker管理 监控Broker状态:实时监控集群中所有Broker的上线和下线状态 处理Broker故障:当Bro
2025-05-31
学习笔记
#中间件 #kafka

grpc-go底层实现三:grpc客户端头帧发送过程

newClientStreamWithParams 方法详细分析newClientStreamWithParams 方法位于 stream.go 文件的第260-404行,是 gRPC 客户端创建流式连接的核心方法。这个方法负责初始化客户端流,设置上下文、超时、压缩选项,并创建与服务器的连接。下面我将详细分析这个方法的功能及其调用关系。 方法功能分析1. 上下文和超时处理123456var can
2025-05-31
学习笔记
#grpc

grpc-go底层实现二:客户端与服务端建立连接过程

NewHTTP2Client 方法详细分析NewHTTP2Client 方法是 gRPC 客户端创建 HTTP/2 传输层连接的核心方法,负责建立与服务器的 HTTP/2 连接,并设置相关参数。下面我将详细分析这个方法的功能、流程以及头帧发送与连接建立的过程。 方法功能概述NewHTTP2Client 方法位于 internal/transport/http2_client.g
2025-05-26
学习笔记
#grpc

grpc-go底层实现一:gRPC Client初始化与连接建立准备工作

基于grpc-go 的v1.72.0 gRPC 客户端创建过程分析分析 clientconn.go 中的 NewClient 方法及其调用的方法,详细阐述 gRPC 在创建客户端时的工作流程。 1. 客户端创建流程概述gRPC 客户端创建主要通过 NewClient 方法完成,该方法创建一个 ClientConn 对象,这是 gRPC 客户端的核心组件。整个创建过程可以分为以下几个主要阶段:
2025-05-26
学习笔记
#grpc
123

搜索

# Hexo # # Fluid