原文:gRPC-go源码(1):连接管理

写在前面 在这个系列的文章中,我们将会从源码的层面学习和理解gRPC。 整个系列的文章的计划大概是这样的:我们会先从客户端开始,沿着调用路径逐步分析到服务端,以模块为粒度进行学习,考虑这个模块是为了解决什么问题,然后思考gRPC应该怎么去解决这个问题。在分析完这部分的架构设计后,我们会在接下来的一篇文章中研究具体的代码实现。 因此,这个系列的文章不会像之前的源码分析那样贴一大段的代码,然后加上注 ...

2021-01-24 17:05 1 535 推荐指数:

查看详情

gRPC-go源码(2):ClientConn

摘要 在上一篇文章中,我们聊了聊gRPC是怎么管理一条从Client到Server的连接的。 我们聊到了gRPC拥有Resolver,用来解析地址;拥有Balancer,用来做负载均衡。 在这一篇文章中,我们将从代码的角度来分析gRPC是怎么设计Resolver和Balancer的,并会 ...

Tue Mar 02 07:45:00 CST 2021 1 540
grpc-go 连接backoff协议

当我们连接到一个失败的后端时,通常希望不要立即重试(以避免泛滥的网络或服务器的请求),而是做某种形式的指数backoff。 我们有几个参数: INITIAL_BACKOFF (第一次失败重试前后需等待多久) MULTIPLIER (在失败的重试后乘以的倍数) JITTER (随机 ...

Tue Dec 31 02:09:00 CST 2019 0 842
gRPC-go 入门(1):Hello World

摘要 在这篇文章中,主要是跟你介绍一下gRPC这个东西。 然后,我会创建一个简单的练习项目,作为gRPC的Hello World项目。 在这个项目中,只有很简单的一个RPC函数,用于说明gRPC的工作方式。 此外,我也会跟你分享一下我初次接触gRPC所遇到的一些坑,主要是在protocol ...

Fri Sep 25 05:08:00 CST 2020 0 3288
Windows10 安装grpc-go 详细步骤

准备依赖 测试HelloWorld 打开server $env:GOPATH\src\github.com\grpc\grpc-go\examples\helloworld\greeter_server go run main.go 打开client $env:GOPATH\src ...

Mon Dec 16 01:27:00 CST 2019 0 327
HttpClient连接管理

HttpClient连接管理 主机间建立网络连接是个非常复杂跟耗时的过程(例如TCP三次握手bla bla),在HTTP请求中,如果可以复用一个连接来执行多次请求,可以很大地提高吞吐量。 HttpClient中,连接就是一种可以复用的资源。它提供了一系列连接管理的API,帮助我们处理连接管理 ...

Mon Jan 06 18:52:00 CST 2020 0 242
boneCP的连接管理

时间等。 比较重要的时间概念代码如下: boneCP对连接管理 MySQL对连接有最大空闲时 ...

Wed Jan 25 22:22:00 CST 2017 0 1693
TCP的运输连接管理

TCP的运输连接管理 TCP是面向连接的协议,有三个阶段:连接建立、数据传送 和 连接释放。运输连接管理就是使运输连接的简历和释放都能正常地进行。 在TCP连接建立过程中要解决一下三个问题: 1、 要使每一方都能够确知对方的存在: 所以需要三次握手。 2、 要允许双方协商一些参数 ...

Sun Sep 20 21:00:00 CST 2015 0 2109
图解 HTTP 连接管理

熟悉我的小伙伴都知道,我之前肝了本《HTTP 核心总结》的 PDF,这本 PDF 是取自我 HTTP 系列文章的汇总,然而我写的 HTTP 相关内容都是一年前了,我回头看了一下这本 PDF,虽然内容不 ...

Wed Aug 04 17:34:00 CST 2021 0 584
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM