Web服务框架
文章平均质量分 86
grpc, gin, go-zero
你是什么品种的萝卜
人生何处不迷雾,东隅已逝,桑榆非晚
展开
-
【Web框架】【go-zero框架】1.goctl工具
go-zero框架与goctl工具原创 2024-04-18 18:43:17 · 247 阅读 · 0 评论 -
【Web框架】4.GRPC基于etcd做服务注册与发现
客户端首先取得服务端的节点 endpoint 列表,基于一定的负载均衡策略选择到特定的 endpoint,直连发起请求.grpc负载均衡策略:pick_first选第一个(默认);round_robin轮询。常用的负载均衡策略:随机、轮询、加权随机、加权轮询、源地址哈希法、最小连接数法。原创 2024-04-27 18:20:16 · 374 阅读 · 0 评论 -
【Web框架】3.GRPC原理
RPCRPC1. rpc协议rpc远程过程调用,是一套协议,基于这套协议规范来实现的框架都可以称为 rpc 框架,常见的 Dubbo、Thrift 和 gRPC。本地方法调用的形式:对于调用方来说,调用 rpc 方法和调用本地方法并没有明显区别。保存服务端地址信息请求编码:将客户端请求方法名、参数等打包,序列化发送请求到服务端(grpc用的是http2方式发送的)接收请求:包含要调用的方法名、参数、其他元数据,并解码调用本地方法:将请求中的参数传递给本地方法,并等待执行。原创 2024-03-27 23:06:23 · 644 阅读 · 0 评论 -
【Web框架】2.Gin框架
为了能快速找到并组合完整的路由,GIN 在添加路由的同时,会在每个节点中添加 Priority 这个属性。Context 是通过中间件来传递的,在处理 HTTP 请求时,Gin 会依次执行注册的中间件,每个中间件可以对 Context 进行一些操作,然后通过Next() 将 Context 传递给下一个中间件。会将注册的中间件函数HandlerFunc 添加到路由组的函数链HandlersChain中,后续路由组下新注册的 handler 都会在前缀中拼上这部分公共的 handlers。原创 2024-03-27 22:49:45 · 867 阅读 · 0 评论 -
【Web框架】1.go的net/http标准库
调用链:Post()->Client.Post()->Client.Do()->Client.send()->Transport.RoundTrip()若无可用连接,通过 queueForDial 异步创建一个新的连接,并通过接收一个ready channel的方式,等待连接创建完成。Transport.dialConn:调用 Transport.dial 创建 tcp 连接,并启动异步。persistConn.roundTrip:通过 tcp 连接完成与服务端的交互。for + Accept 阻塞。原创 2024-03-27 22:39:43 · 888 阅读 · 0 评论