使用 raft + 单机 KV 引擎构建分布式 KV 存储,是一种常见的方式。比如 TiKV, CockroachDB 等。本文重点讨论如何进行 raft snapshot。

2024年9月17日 0条评论 1686点热度 1人点赞 SPtuan 阅读全文

braft 是一个较多人使用的 C++ raft 框架。开发者基于其抽象接口实现自己的业务逻辑,方便实现 raft 高可用的服务。本文从 metrics 入手,梳理开发者应该持续关注哪些监控变量。以其为线索,阅读源码探究其实现原理。力争做到心里有谱,不惧异常。

2024年5月12日 5条评论 4176点热度 1人点赞 SPtuan 阅读全文

作为 go 开发者,我们可能忽略了一名英雄:在内存垃圾标记之后,拾荒器 (scavenging) 最终负责把无用内存归还给操作系统。本文结合例子和源码,分析 go scavenging 的策略,为内存关键型程序提供一些小建议。

2023年12月19日 1条评论 4069点热度 1人点赞 SPtuan 阅读全文

Stream Layer 扮演 WAS 数据存储的角色。本文阅读论文,思考并学习 stream/extent 的实现机制。

2023年12月9日 0条评论 2737点热度 0人点赞 SPtuan 阅读全文

本系列文章是笔者阅读微软存储系统论文 《Windows Azure Storage: a highly available cloud storage service with strong consistency》的笔记和思考。

2023年11月28日 0条评论 3655点热度 1人点赞 SPtuan 阅读全文

本文中,我们将探究 Linux 中 cpu 使用率 iowait 定义和计算方式。iowait 很高的系统,一定存在 IO 瓶颈吗?通过实验验证和讨论了综合观测系统的 IO 压力的方式。

2023年9月4日 3条评论 7848点热度 3人点赞 SPtuan 阅读全文

限流器是服务治理的重要一环。但常见的讨论集中于对 频率 的限制。本文结合笔者最近的需求,分析 Go 官方限流器 time/rate 的实现原理,结合实践对 带宽/流量限制 可能遇到的问题进行讨论。

2023年8月13日 0条评论 5528点热度 1人点赞 SPtuan 阅读全文

100 Go Mistakes and How to Avoid Them 阅读笔记。4-Control Structures, 6-Functions and Methods, 7-Error Management

2023年1月18日 0条评论 2646点热度 0人点赞 SPtuan 阅读全文

100 Go Mistakes and How to Avoid Them 一书主要描述了使用 Go 语言编程时的常见问题。本文是博主对第三章 - 数据类型 Data type 的阅读笔记。

2022年12月22日 0条评论 2443点热度 0人点赞 SPtuan 阅读全文

100 Go Mistakes and How to Avoid Them 一书主要描述了使用 Go 语言编程时的常见问题。本文是博主对第二章 - Code and project organization 的阅读笔记。

2022年12月17日 0条评论 2989点热度 1人点赞 SPtuan 阅读全文

平常我们在做应用层开发时,很少会注意到 HTTP 请求的大小写敏感问题。笔者在围观一个 HTTP 服务端 Header 的解析程序时,发现了一个微妙的 bug。这篇笔记是针对该问题的一个有趣的探究。

2022年12月7日 0条评论 7710点热度 2人点赞 SPtuan 阅读全文

本文为一次笔者针对 SSD 调优存储软件的笔记。意外地发现很多 dev 同僚对一些现代数据中心的基础存储设备规格没有概念,遂调研整理此文,供读者 warm-up 阶段作为起步参考。

2022年10月20日 0条评论 3585点热度 1人点赞 SPtuan 阅读全文

本文是一篇简要的技术笔记。Nginx 作为反向代理,根据不同的 HTTP 方法,选择不同的 upstream。

2022年9月24日 0条评论 3020点热度 0人点赞 SPtuan 阅读全文

Unix-like 操作系统中,程序的 stderr、exit status,以及 Go 语言如何捕捉命令执行错误实例。

2022年7月31日 1条评论 3819点热度 0人点赞 SPtuan 阅读全文

本文介绍在CDN使用过程中常见的防盗链技术原理。无论是使用公有云的CDN服务还是公司内部自建CDN节点,防盗链是广泛使用的必备功能之一。

2022年7月14日 0条评论 5069点热度 1人点赞 SPtuan 阅读全文

  本文为本人调试Xavier时遇到的,演示了如何开启Nvidia Jetson Xavier开发者套件的CAN总线,是一篇非常优秀的指导文章。本文原作者为Ramin Nabati,由SPtuan获取其授权并翻译。原文链接为: https://medium.com/@ramin.nabati/enabling-can-on-nvidia-jetson-xavier-developer-kit-aaaa3c4d99c9

2019年4月2日 6条评论 24625点热度 11人点赞 SPtuan 阅读全文

比较偶然的机会,以学生的眼光,收集了这个行业的一些信息。包括表层的一些框架和大厂们采用的硬件方案。 一路曲折走过来,以后大概率从事这个行业,应该多多积累信息,别憋死在象牙塔里才是。

2019年3月3日 1条评论 4620点热度 4人点赞 SPtuan 阅读全文

嗨多磨。在之前的文章中,我们以Q-Learning为例,先入为主,对强化学习的基本要素和核心思想进行了学习。今天这篇文章,主要是将马尔科夫决策过程单独拿出来探究。它在很多领域都有应用,十分值得单独拿出进行探究和学习。

2018年12月26日 9条评论 8597点热度 2人点赞 SPtuan 阅读全文
12