![](https://img-blog.csdnimg.cn/direct/aeeaa868a9a9456292074b0ae630e1a2.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
实操各种网络demo
文章平均质量分 93
这一生听过许多道理,但还是过不好这一生,这是因为缺少真正的动手实践,光听道理,缺少动手实践的过程,学习难免会让人觉得味同嚼蜡,所以我的分享都比较倾向于实践,在一次次动手实践的过程中感受知识原本纯真的模样。
蓝胖子的编程梦
多年互联网大厂开发经验,深耕后端领域,擅长golang、云原生技术栈。对性能优化和服务监控方向颇有心得,对分布式链路追踪,故障诊断,实时数据分析,监控告警平台建设,性能优化及架构设计有深入研究
展开
-
开启 Keep-Alive 可能会导致http 请求偶发失败
大家好,我是蓝胖子,说起提高http的传输效率,很多人会开启http的Keep-Alive选项,这会http请求能够复用tcp连接,节省了握手的开销。但开启Keep-Alive真的没有问题吗?我们来细细分析下。原创 2024-04-03 15:50:40 · 1082 阅读 · 0 评论 -
一文搞定防盗链设计
大家好,我是蓝胖子,在涉及到图片或者视频链接时,通常都会提到防盗链,这一节我将会从防盗链的含义到落地,向大家展示如何设计资源的防盗链。原创 2024-04-02 10:16:22 · 524 阅读 · 0 评论 -
https安全性 带给im 消息加密的启发
更进一步,还可以设计一组只有im客户端和服务端知道的密钥,让客户端在进行摘要计算时,加上密钥,也就是通过类似hmac的消息认证算法,进行摘要计算,这样在对端接收到报文后,正常情况下,通过相同的消息认证算法和密钥会得到相同的摘要结果,如果计算的摘要结果和报文中的摘要结果不一致,那么说明报文不是从信任的客户端发来的,直接拒绝,这样便达到了。接着,便是服务端和客户端用相同的计算密钥的算法,以客户端和服务端的随机数A,B和pre master key生成相同的会话密钥,用于后续的通信进行对称加密。原创 2024-04-01 15:09:11 · 847 阅读 · 0 评论 -
网络性能问题排查思路
网络问题往往是性能排查中最复杂的一个问题,因为网络问题往往涉及的链路比较长,排查起来不仅仅是看本地机器的指标就可以了。本文将展示一个比较系统的排查网络问题的思路。我们往往都是通过类似prometheus,grafana搭建的监控平台对机器的各项指标进行监控,其中就包括网络性能,当发现指标异常后,你就需要定位到具体的进程了,定位到进程还没完,你还需要定位到进程中是哪段代码引发的这个问题。整个过程你可以看到是一个大范围到小范围逐步定位的过程,大致分为3个步骤:1,系统层面发现问题2,定位到具体异常进程。原创 2023-04-14 17:49:14 · 410 阅读 · 0 评论 -
https 原理与实践
证书颁发机构的签名信息 4,然后就是客户端的解密过程,拿到证书以后,通过ca公钥对证书以及公钥信息的摘要密文进行解密,得到消息摘要,然后用摘要算法对证书信息以及公钥信息进行摘要计算,将客户端得到的摘要和密文解密后的摘要进行对比,如果相同,说明内容未被篡改,证书有效。2,ca得到请求后,利用网站服务的公钥,对其基本信息进行解密。这里涉及到ca对证书信息的加密方式,前面提到用私钥加密的数据,可用公钥解密,当将证书信息通过私钥加密后,客户端就能通过ca的公钥去解密证书,能成功解密,说明证书的确是ca颁发的。原创 2023-05-26 13:58:29 · 47 阅读 · 0 评论 -
wireshark分析tcp传输之文件上传速率问题
这一节 主要用了 tcp stream graphs 宏观的去分析了文件上传时tcp的传输过程,wireshark提供的高级功能,这一节只是冰山一角,希望能抛砖引玉。我认为,网络抓包无处不在,其实随手就可以抓取上网浏览的包去进行分析,然后通过wireshark把包传输过程的表现都用理论知识找到对应的解释,不断深挖下去,便会融会贯通。原创 2023-05-31 11:44:36 · 1215 阅读 · 1 评论 -
如何从抓包文件中分析慢请求
🔥🔥性能优化,服务监控方面的知识往往涉及量广且比较零散,我会持续输出这方面的内容,将这部分知识整理成册,愿以后性能排查不再抓瞎。原创 2023-06-06 13:02:58 · 872 阅读 · 0 评论 -
抓包分析RST报文
大家好,我是蓝胖子,今天我们来分析下网络连接中经常出现的RST信号,连接中出现RST信号意味着这条链接将会断开,来看下什么时候会触发RST信号,这在分析连接断开的原因时十分有帮助。本文的讲解视频已经上传在开始分析触发RST的场景之前,我们先来准备下需要的客户端和服务端代码,以方便我们进行测试。服务端代码目前先是在8080端口监听,然后将接收到的消息打印出来。客户端代码,连接8080端口然后打印hello world现在,来让我们测试下触发RST的各种场景。原创 2023-06-14 10:38:14 · 3901 阅读 · 0 评论 -
乞丐版的四层负载均衡,你了解多少?
大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践。本文代码已经上传到github为了知识的完整性,我们也科普下七层负载均衡的概念,我们先简单了解下四层负载均衡和7层负载均衡的区别。原创 2023-06-30 16:02:13 · 222 阅读 · 0 评论 -
https 原理分析进阶-模拟https通信过程
而客户端拿到这个证书就会用证书颁发机构的公钥去解密签名,然后按SHA-256算法也对证书内容进行hash,也得到一个消息摘要值,客户端就去比对自己计算的消息摘要和公钥解密签名得到的消息摘要是否一致,一致则说明证书未被篡改并且是证书颁发机构颁发的。有同学可能会疑惑,证书颁发机构的公钥是从哪里获取的,证书颁发机构的公钥就在颁发机构其自身的证书里,如下图所示。原创 2023-06-28 14:02:33 · 160 阅读 · 0 评论 -
【网络实操】零拷贝原理以及实践
大家好,我是蓝胖子,零拷贝技术相信大家都有所耳闻,但是今天呢,我不仅会讲述零拷贝技术的原理,并将从实际代码出发,看看零拷贝技术在golang中的应用。现在让我们开始吧。原创 2023-06-25 17:27:16 · 132 阅读 · 0 评论 -
通过redis学网络(1)-用go基于epoll实现最简单网络通信框架
这节算是用golang去演示了下如何对epoll api的调用,并且能够实现最简单的客户端服务端通信,下一节我会讲解redis的网络模型是怎么样的,你可以从中了解到经常说的redis的单线程具体是指什么,了解到reactor网络模型是怎样的?原创 2023-06-07 10:58:02 · 114 阅读 · 0 评论 -
通过redis学网络(2)-redis网络模型
本系列主要是为了对redis的网络模型和集群原理进行学习,我会用golang实现一个reactor网络模型,并实现对redis协议的解析。系列源码已经上传github。原创 2023-06-12 13:45:25 · 51 阅读 · 0 评论 -
cdn原理分析-本地搭建cdn模拟访问过程
首先,我们来看下为什么要用cdn,比如一个专注做视频播放或者图片阅览的网站,当用户浏览网站时,需要从网站拉取图片或者视频资源,这将产生流量费用,并且,如果用户里网站服务器越远,产生的流量费用将越高。而cdn的原理则是将视频或者图片资源缓存在离用户比较近的服务器上,这样既提升了响应速率,又节约了流量费。来看下使用cdn后,用户访问网站的过程。如上图所示,假设用户自己的想要加速的域名是web.cdn.test,如果用户想对这个域名进行加速,首先要去cdn服务商那里配置上这个加速域名和源站服务地址。原创 2023-06-16 18:21:57 · 545 阅读 · 1 评论