阅读 redis 源码,学习缓存淘汰算法 W-TinyLFU

所有 IT 从业者都接触过缓存,一定了解基本工作原理,业界流行一句话:缓存就是万金油,哪里有问题哪里抹一下。那他的本质是什么呢?

Read More

实践出真知,聊聊 HTTP 鉴权那些事

上半年参与的项目涉及到 gateway 和 id 权限认证系统,通过系统性的学习与接触,了解很多 HTTP 鉴权的那些事。分享实践的细节,都是通用做法,符合标准协义,不涉及公司机密

本文主要讲如何给第三方服务,即 API 做鉴权,而不是用户登录系统。一般做后端微服务的很少接触这方面的概念,网关层或是入口做好认证后,链路下游都是默认开放的,最多用 iptables 或 aws securit group 类似的做网络可达的限制。用户信息传到 Context 中即可

Read More

你真的了解 CDC 嘛

Change Data Capture 简称 CDC, 用于异构数据同步,将 database 的数据同步到第三方,这里的 DB 可以是 MySQL, PG, Mongo 等等一切数据源,英文技术圈称之为 Single Source OF True (SSOT), 目标称为 Derived Data Systems。常见的使用场景有:

Read More

如何搭建 blog? 附带全部 Hexo + Nginx + Git 教程

个人 blog 欢迎访问:https://mytechshares.com/ , 内容同步自微信公众号。首先说下为什么自建 blog 站点:

Read More

读《重构 改善即有代码的设计2》有感

断断续续读完了《重构 改善即有代码的设计2》, 作者是 Martin Fowler 大神,这本书也是很多 IT 大牛推荐的码农必读书之一。把读到的感悟,加上自己的理解,总结成最佳实践分享给大家

Read More

Go Context 最佳实践

去年写了也许是 Context 最佳实践, 回头看有些遗漏,重新编辑整理,总结截至 go 1.17 的最佳实践

Read More

PingCAP 故障注入利器 fail-rs

年初分享过聊聊 Go failpoint 使用,感兴趣的可以看看看这篇文章

Read More

Fail at Scale 读后感

Fail at Scale, Reliability in the face of rapid change 是 Facebook 2015 年发布的一篇论文,分享 Facebook 是如何看待故障,以及如何构建稳定性的。现在看论文里少了些东西,但是整体依然有参考意义

Read More

Rust 深入浅出闭包

在计算机中,闭包 Closure, 又称词法闭包 Lexical Closure 或函数闭包 function closures, 是引用了自由变量的函数

Read More

Rust trait 入门

学 Rust 的一定离不开 trait, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait 和 go interface 非常像,但是远比后者强大

Read More