字节RPC框架kitex源码阅读(二)
[!note] 基于kitex@v0.11.3 开篇 在上篇字节RPC框架kitex源码阅读(一)中,简单过了一遍从创建服务、监听端口、建立连接&派发、退出清理的流程,对于代码生成的回调如何在kitex内部得到调用也有了初步的认知。 这篇是(一)的续篇,深入分析remote.Server如何基于与客户端建立的连接做交互,包括传输、解码、编码等。 remote.ServerT...
[!note] 基于kitex@v0.11.3 开篇 在上篇字节RPC框架kitex源码阅读(一)中,简单过了一遍从创建服务、监听端口、建立连接&派发、退出清理的流程,对于代码生成的回调如何在kitex内部得到调用也有了初步的认知。 这篇是(一)的续篇,深入分析remote.Server如何基于与客户端建立的连接做交互,包括传输、解码、编码等。 remote.ServerT...
[!note] 基于kitex@v0.11.3 开篇 随着分布式系统的发展,RPC(Remote Procedure Call,远程过程调用)已成为微服务架构中不可或缺的基础组件。RPC 通过让服务之间像调用本地方法一样发起远程调用,极大简化了跨进程、跨服务器的通信复杂度。对于开发者来说,选择一个性能稳定、易于使用的 RPC 框架至关重要。 Kitex,全称 “Kite Extens...
代理规则大全!!
k8s为什么需要服务发现,服务发现的流程是怎么样的
复习用
简单描述epoll中LT和ET工作模式的区别和使用场景
前言 本文基于go1.21,不同版本的Context内部实现可能会有细微差别 使用场景 为什么需要Context,首先思考一个场景:客户端去请求某个服务,这个服务依赖于多个可并行执行的下游服务,为了提高这个服务的响应速度,自然会为每个下游服务开启一个协程去执行。 倘若在执行的过程中,客户端取消了对这个服务的请求,下游服务也应该被停掉。但是go不提供直接关闭协程的方法,我们...
复习用