业务中实现最终一致性,和 MySQL 的思想很像!

我们在在线业务里保证数据一致性的一种思路, 和 MySQL 保证 redolog 和 binlog 一致性的方案很像。下面我先来说一下业务里我们是怎么处理的。 说到最终一致性,绕不开的一种方案就是消息队列了。 消息队列可以保证某个数据变更后,多个下游...

Architecture

有意思,什么是计算机?

什么是计算机? 计算单元、存储单元、控制单元 其中最牛逼的是控制单元,正因如此,『算盘』被认为是世界上的第一种计算机,是因为算盘不进有计算单元和存储单元,更牛逼的是,他有一套『算法』,打算盘的人通过背口诀,实现了复杂的运算。 而在算盘之前,据说某个文...

OS

可扩展的 Go Scheduler 设计文档

原文 https://golang.org/s/go11sched 在 go 的 runtime 包下,阅读最重要的关于流程调度的文件 proc.go 时。贴了这个文档地址。 机翻一下: 可扩展的 Go Scheduler 设计文档 德米特里·维尤...

Go

runtime/cgo: pthread_create failed: Operation not permitted

runtime/cgo: pthread_create failed: Operation not permitted · Issue #1501 · containers/skopeo (github.com) runtime&...

OP

MySQL int(10) 括号里的数字有啥用

代表宽度的M 该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。 显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。 当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。 例如,对于声明为...

MySQL

通过 select 进行超时限制

123456789101112131415161718192021func TestSelectTimeLimiter(t *testing.T) { var res string done := make(chan struc...

kafka

总览一台服务器可以启多个 broker(即 Kafka 进程,每个进程单独占用一个端口号) 一种数据使用一个 Topic 同一个 Topic 可以分为多个 partition 。(分区,和消费机制有关)可以提高生产(往不同的 partition 写消...

golang闭包

闭包(Closure)是指在编程中,一个函数可以访问其词法作用域(定义时的作用域)之外的变量,然后将这些变量保存在一个被称为闭包的数据结构中。这意味着闭包可以“记住”其创建时的上下文,即使在其定义所在的作用域已经不存在了,闭包仍然可以访问和操作其所捕...

gRPC 学习

安装 protochttps://github.com/protocolbuffers/protobuf/releases 这里找到你需要的版本 下载解压后,把 bin 目录放到环境变量 放好后 protoc 测试下 写 proto 文件12345...

Go

Linux前台运行中的程序怎么切到后台

直接后台运行:123$ nohup bash run.sh 2>&1 & [1] 3152...

13456720