背景 如图,在压测一个go写的反向代理服务时出现这个报错。经过搜索发现这个报错是因为端口耗尽而导致的。 原因可能: http.client请求后没读取完rsp.Body就cl...
背景 如图,在压测一个go写的反向代理服务时出现这个报错。经过搜索发现这个报错是因为端口耗尽而导致的。 原因可能: http.client请求后没读取完rsp.Body就cl...
本文已迁移至https://juejin.cn/post/6844903812331732999[https://juejin.cn/post/684490381233173...
RWMutex 基于go 1.13源码总的来说读写锁就是利用互斥锁和CAS维护2个关于读锁的变量以及runtime的2个信号量,来实现「当存在读锁时,读操作可以继续加锁,写操...
本文基于 go1.11 版本。 Mutex 使用 在深入源码之前,要先搞清楚一点,对 Golang 中互斥锁 sync.Mutex 的操作是程序员的主动行为,可以看作是是一种...
前言 Golang中有两种类型的锁,Mutex (互斥锁)和RWMutex(读写锁)对于这两种锁的使用这里就不多说了,本文主要侧重于从源码的角度分析这两种锁的具体实现。 引子...
1、为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?) 说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。 我先...
文章目的: 1、向没听过或者刚听过但是还对这个监控系统没有任何概念的开发者介绍Prometheus的应用场景。2、向有需要深入的了解的人推荐一些博客、书籍。3、内心真实想法:...
基于go 1.13版本 在分析源码前,要知道 在 http 服务器上进行了如下工作: 客户端通过 TCP/IP 协议建立与服务器的 TCP 连接 客户端向服务器发送 HTTP...
现在大数据、人工智能、数据分析等很多技术岗位都对数学有一定的要求,数学越来越重要,很多人也开始尝试学习数学,脑子里突然就有了结合Python编程来学习数学的想法。在网络上搜索...
go-xorm封装公共CURD类 $ 前言 go-xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 $ 配置目标 封装一个公共的父级操作类, 通...
RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(...
一. 分块编码 分块编码传输应该是和持久连接配合使用的.因为如果不是持久连接的话那也不需要知道长度等信息了,只需要读到连接关闭即可. 在持久连接的情况下,如果是服务器动态创建...
简介 之前在网上看到一个热议的滑稽问题,如果自己的老妈和女朋友互换了灵魂,会选择跟谁在一起?不过选择谁都挺矛盾尴尬的吧,甚至有点恶心。《秘密》里面就是讲了个类似的故事,那么男...
前言 建议先对raft论文有一些基本的浏览,然后再看下面的内容。可以结合后面引用的链接去进行更深入的学习。下文提到的章节,指论文的章节 正文 通过领导人的方式,Raft 将一...
全部代码在我的GitHub,本文只做分析。 简介 该部分主要是要求完成 server 选举的相关功能,暂时不牵涉到 log。重点阅读论文的 5.1 以及 5.2,结合 Fig...
golang 开发者在Vim 上贡献了许多成熟的插件。站在巨人的肩膀上,我们可以非常轻松的在Vim 下配置出属于自己的golang的开发环境。 电脑环境: Mac 10.13...
写在前面 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想...
最近用 gin+mysql编写web工程,其中使用了gorm库对数据库进行操作。由于gorm目前暂未提供 批量插入方法,推荐使用原sql语句批量插入数据。 参考链接 gorm...
本质 java锁的实现原理就是继承AQS抽象类java锁继承Lock接口, 而Lock需要实现的接口依赖AQS的实现。 AQS用来实现具体锁的操作,需要具体锁去重写tryAc...
项目中使用ETCD来实现服务发现和配置信息的存储,最近我抽空研究了一下ETCD和背后的一致性算法 — Raft算法的逻辑。 ETCD是什么 ETCD是一个go语言实现的高可靠...