暂无搜索历史
今天尝试把工程从古老的1.13版本升级到最新的1.20,打算坐下泛型的快车。升级之后运行时立马就panic掉了。打印堆栈日志,发现是内部common库依赖的gi...
Golang的runtime机制是Golang语言的核心组成部分之一,它负责管理和调度goroutine,垃圾回收,内存分配,锁和其他底层功能。
生产上某个服务使用了ElasticSearch作为检索引擎,但是偶发性出现gc明显抖动,进而导致接口响应超时
调研了在线和离线迁移两种比较有代表性的方案,两种方案都进行了测试演练,不过最终选择了离线的方式,原因有几点:
上一篇,我们简单介绍了下mac下单节点Kubernetes的安装,今天我们乘热打铁,感受下grpc整合Kubernetes的魅力。好了Talk is cheap...
家里老的台式机已经被淘汰掉了,之前kubeadm方式按照的k8s集群也不复存在,打算在mac上使用Docker Desktop安装了一下单节点的Kubernet...
昨天跟同事讨论redis集群,谈到redis cluster时随口吹嘘了一遍工作机制:"redis cluster采用虚拟槽分区,将key根据哈希函数映射到了1...
《手摸手系列》把go sync包中的并发组件已经写完了,本文作为完结篇,最后再来探讨下go运行时锁的实现。记得在《手摸手Go 并发编程的基建Semaphore》...
下载速度只有29kib/s,对于稍微大点儿的repo来说显然等的让人焦心。好在一般工作都会提供一些代理,用上代理访问github repo速度就有了质的飞跃:
上图是从官网找的一个protocol buffers的序列化压测对比图,从图上来看protocol buffers表现相对还是比较优异的。
谈到编译器指示,我们在平时工作中几乎不会使用,除非你觉得你的代码瓶颈出现在编译期,不过了解掌握编译器指示对于我们阅读golang源码还是挺有帮助的。
因为工作中gRPC使用非常频繁,而gRPC的默认序列化编码采用的也是Protocol Buffers。业界也盛传其效率及其高效:
最近因为工作上的事情更新会相对有点儿慢,这周末又加了天班。然后昨天好好休息了下,顺便翻了下《云雀叫了一整天》,看到一首小诗觉得不错分享给大家。
各位早上好~今天来聊聊Go提供的读写互斥锁sync.RWMutex,它可以加任意数量的读锁或者一个写锁。读写锁占用规则:
单例模式作为一个较为常见的设计模式,他的定义也很简单,将类的实例化限制为一个单个实例。在Java的世界里,你可能需要从懒汉模式、双重检查锁模式、饿汉模式、静态内...
前段时间剖析了一下sync.Mutex的源码,发现底层实现其实是基于Go的运行时Semaphore机制来实现的,虽然那篇文章也梳理了一下关于信号量的原理,但是感...
最新的Go版本1.16版在Go 1.15之后六个月到货。它的大部分更改是在工具链,运行时和库的实现中进行的。与往常一样,该版本保留了Go 1兼容性的承诺。作为G...
“高并发 高性能 高可用”一直以来作为搬砖界用力搬砖的口号。由于CPU一次读取存储数据的长度有限,比如32bit的平台修改int64需要被拆分成两次写操作,更何...
谈到内存对齐,早年间玩Java的时候就能偶尔打打交道,为此Java8还提供了个语法糖@Contended来帮助我们解决高速缓存cacheline内存未对齐的伪共...
sync.Cond实现了一个条件变量,用于等待一个或一组goroutines满足条件后唤醒的场景。每个Cond关联一个Locker通常是一个*Mutex或RWM...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市