好好学习,天天向上
服务注册与发现
引言聊起微服务的服务注册与发现,很多人立马就会脱口而出 zk、etcd、consul、eureka 这些组件,进而聊到 CAP 如何取舍,性能如何,高可用和容灾是怎么实现的。 在这之前,站在组件使用者的角度,我想先问这么几个问题: 注
2020-07-13
protocol buffer
简介protocol buffer是一种与语言无关,与平台无关的可扩展机制,用于序列化结构化数据。它通过定义.proto文件,使用protoc工具生成指定代码的文件,让程序猿没有了心智负担。与json相比,它编码和解码快,生成数据体积小。
2020-04-23
golang调用syscall
环境说明OS:linuxARCH:amd64GOVERSION:1.14.1 syscall实现在linux下golang调用syscall的接口,文件路径syscall/syscall_unix.go func Syscall(trap,
2020-04-17
golang调用IPC
简介进程间通信(IPC,Inter-Process Communication)指至少两个进程或线程间传送数据或信号的一些技术或方法。最初Unix IPC包括:管道、FIFO、信号;System V IPC包括:System V消息队列、S
2020-04-15
linux软链接和硬链接
我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性
2020-04-09
golang TCP Socket编程
golang版本:1.14.1主要是对golang net包的Conn接口函数进行测试,这里只是分析常见的几个错误,如果要了解详细的错误可以查看man手册。 DialDial主要实现了TCP三次握手的环节。握手环节中有很多种情况:网络不可达
2020-04-09
redis大key处理
Redis是一个高性能的key-value数据库。性能的关键点在于使用内存存储和单进程操作,如果Redis中存储了一个大key在内存使用和操作上都会有很大的风险。 大key的风险: 读写大key会导致超时严重,甚至阻塞服务。 如果删除大
2020-04-02
etcdctl命令行交互
简介etcd 是一个分布式一致性键值存储,用于共享配置和服务发现,专注于: 简单:良好定义的,面向用户的API (gRPC) 安全:带有可选客户端证书认证的自动 TLS 快速:测试验证,每秒 10000 写入 可靠:使用R
2020-03-24
golang 编译指示
编译指示函数声明前一行写上//go:后面跟上编译指示,在编译的时候,go编译器会进行指定的操作 // cmd/compile/internal/gc/lex.go const ( // Func pragmas. Noin
2020-03-15
linux watch命令
watch 是监视某个shell命令控制台输出。 Usage: watch [options] command Options: -b, --beep beep if command has a non-ze
2020-01-15
技术文章
记录有意思的博文 go mod设计原则,一切皆以软件工程为基础设计。 go abi规约,描述golang详细的abi设计 go Memory Leaking Scenarios,golang内存泄漏的场景
2020-01-13
sync包
atomicAddAdd族函数是原子的加值操作,第一个参数是被操作值的地址,第二参数是要加的值是多少,返回值是加之后的值。如果要在无符号上减操作,建议的方法delta=^uint32(delta-1),特别的如果要递减使用delta=^ui
2020-01-13
2 / 4