随笔- 452
文章- 302
评论- 28
阅读-
64万
03 2022 档案
go并行编程-2-内存模型
摘要:https://golang.org/ref/mem 如何保证在一个 goroutine 中看到在另一个 goroutine 修改的变量的值,如果程序中修改数据时有其他 goroutine 同时读取,那么必须将读取串行化。为了串行化访问,请使用 channel 或其他同步原语,例如 sync 和 s
阅读全文
go并行编程-1-goroutine
摘要:1,进程和线程 操作系统会为该应用程序创建一个进程。作为一个应用程序,它像一个为所有资源而运 行的容器。这些资源包括内存地址空间、文件句柄、设备和线程。线程是操作系统调度的一种执行路径,用于在处理器执行我们在函数中编写的代码。一 个进程从一个线程开始,即主线程,当该线程终止时,进程终止。这是因为主线
阅读全文
rsync+inotify-tools与rsync+sersync架构的区别
摘要:一、为什么要用rsync+sersync架构? 1、sersync是基于inotify开发的,类似于inotify-tools的工具 2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目
阅读全文
简单说说物联网
摘要:现在越来越多的人才涌向了互联网,做码农,做产品经理,做运营。。。 凡是和互联网沾边工作岗位还是供不应求 而且互联网这种低成本、高流量的性质决定了其投入就是人才的投入 所以薪资一度刷新招聘的记录 这也导致了很多人才外流,毕竟眼前利益在这 先不谈论互联网行业竞争多大,压力多大,就薪资待遇而言足够集聚大量
阅读全文
pkg/errors的用法
摘要:目前实现最优雅,打印堆栈良好的包。参考: https://studygolang.com/articles/17430?fr=sidebar 下载安装 go get -x github.com/pkg/errors 跟踪堆栈信息的函数使用 // 新生成一个错误, 带堆栈信息 func New(mes
阅读全文
ES+Redis+MySQL,这个高可用架构设计太顶了
摘要:一、背景 会员系统是一种基础系统,跟公司所有业务线的下单主流程密切相关。如果会员系统出故障,会导致用户无法下单,影响范围是全公司所有业务线。所以,会员系统必须保证高性能、高可用,提供稳定、高效的基础服务。 随着同程和艺龙两家公司的合并,越来越多的系统需要打通同程APP、艺龙APP、同程微信小程序、艺
阅读全文
canal数据库监听
摘要:log-bin=mysql-bin # 开启 binlogbinlog-format=ROW # 选择 ROW 模式server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 授权 canal 链接 MySQL 账号具有作为 MySQL
阅读全文
golang恐慌和恢复panic/recover
摘要:协程、延迟函数调用、以及恐慌和恢复 package main import ( "errors" "fmt" ) func test() (err error){ defer func(){ if aaa := recover();aaa !=nil{ err = errors.New(fmt.Sp
阅读全文
详解golang恐慌和恢复原理 panic recover
摘要:详解恐慌和恢复原理 恐慌和恢复原理已经在前面的文章中介绍过了。 一些恐慌和恢复用例也在上一篇文章中得到了展示。 本文将详细解释一下恐慌和恢复原理。函数调用的退出阶段也将被一并详细解释。 函数调用的退出阶段 在Go中,一个函数调用在其退出完毕之前可能将经历一个退出阶段。 在此退出阶段,所有在执行此函数
阅读全文