摘要:
http是请求-响应模型,发起方一直是客户端,connection:keep-alive的初衷是**为客户端后续的请求重用连接**,
如果我们在某次请求--响应模型中,请求定义了connection:close, 那不再重用这个连接的时机就只有在服务端了,不能等到下次请求再关闭连接,因为可能根本就没下次请求,所以我们在请求-响应这个周期的末端关闭连接是合理的。 阅读全文
摘要:
上文讲到使用ioutil.ReadAll读取大的Response Body,出现读取Body超时的问题。 前人引路 Stackoverflow的morganbaz的看法是: 使用iotil.ReadAll去读取go语言里大的Response Body,是非常低效的; 另外如果Response Bod 阅读全文
摘要:
## 故障现场 ![](https://files.mdnice.com/user/4236/17943a3f-7903-40f4-b9b6-cfcdc6ae8736.png) 本人负责的`主备集群`,发出的 HttpClient 请求有 30%概率超时, 报`context deadline ex 阅读全文
摘要:
去年的时候写了一篇原创《前后端分离,如何在前端项目中动态插入后端API基地址?(in docker)》, 我自认为这篇生产实践是对大前端、 容器化、CI/CD的得意之作。 对于前后端分离的web项目,在容器启动的瞬间,通过脚本替换待部署环境的特定变量,形成了一个镜像,多环境部署的效果。 Docker 阅读全文
![nginx -g "daemon off;" 你学废了吗?](https://img2020.cnblogs.com/blog/587720/202112/587720-20211231172215935-1123381019.png)
摘要:
.NET运行时内置了常用的缓存模块: MemoryCache 标准的MemoryCache暴露了如下几个属性和方法: public int Count { get; } public void Compact(double percentage); public ICacheEntry Create 阅读全文
摘要:
1.荒腔走板 前几天有个童鞋在群里面问:怎么使用HttpClient发送文件? 之前我写了一个ABP上传文件,主要体现的是服务端,上传文件的动作是由前端小姐姐完成的, 我还真没有用HttpClient编程方式发送过文件。 不过想来,Web协议都是一样的,类比前端发送文件,httpclient按照mu 阅读全文
摘要:
如何使用cURL一次测量请求和响应时间? cURL支持格式化输出请求的详细信息(请参阅cURL手册页的-w、–write out<format>获取更多信息)。 如题,我们将只关注如何知晓cURL请求的时间细节, 下面时间以s为单位。 1. 创建一个文本文件curl-format.txt, 粘贴下面 阅读全文
摘要:
上文中我的结论是: HTTP Keep-Alive 是在应用层对TCP连接进行滑动续约复用, 如果客户端/服务器稳定续约,就成了名副其实的长连接。 目前所有的Http网络库都默认开启了HTTP Keep-Alive,今天我们从底层TCP连接和排障角度撕碎HTTP持久连接。 使用go语言倒腾一个htt 阅读全文
摘要:
宝物简介 grpcur是一个与grpc服务器交互的命令行工具,可认为是gRPC的curl工具。 grpcurl用于从命令行调用gRPC服务器支持的RPC方法,gRPC使用二进制编码(protobuf), 不能利用常规的curl工具(早期的curl版本还不支持HTTP/2)。 grpcurl工具接受j 阅读全文
摘要:
在基础架构部沉浸了半年,有一些认知刷新想和童靴们交代一下, 不一定全面,仅代表此时的认知, 也欢迎筒靴们提出看法。 本文聊一聊口嗨用语:“长连接、短连接”, 文章会按照下面的思维导图来讲述: 重点围绕这两个难点/思维误区来整理知识体系。 长连接 vs 短连接 Http1.1持久连接 vs WebSo 阅读全文