Linux 的 Page Cache 和 MySQL 的 Buffer Pool 的大小是有限的,并不能无限的缓存数据,对于一些频繁访问的数据我们希望可以一直留在内存中,而一些很少访问的数据希望可以在某些时机可以淘汰掉,从而保证内存不会因为满了而导致无法再缓存新的数据,同时还能保证常用数据留在内存中。
我们只有在整个设计、开发、运维阶段保持高度敏感、追求极致,才能让我们系统的可用性、伸缩性不会随着业务增长而劣化。
在 Postgres 和 SQLite 出现以前,MySQL 一直是比较领先的关系型数据库。Stack Overflow 在 2021 年发布的面向开发者的调查报告也印证了这一点:50.18% 的受访者(73317 人)表示正在广泛使用MySQL,且计划接下来继续在工作中使用 MySQL。
风控是一个很大的话题,涉及到规则引擎、NoSQL DB、CEP 等等,本章主要讲一些风控的基本概念。
有很多人问过我想了解一下 SRE 这个岗位,这是个很大的话题,在这篇博客中把想到的一些介绍一下吧。
Sentry是程序的哨兵,它可以监控我们在生产环境中项目的运行状态,一旦某段代码运行报错,或者异常,会第一时间把报错的路由,异常文件,请求方式 等一些非常详细的信息以消息或者邮件给我们,让我们第一时间知道:程序出错了,然后我们可以从Sentry给我们的详细的错误信息中瞬间找到我们需要处理的代码,从而快速地修复Bug。
TinyDB 是一个纯 Python 编写的轻量级数据库,一共只有1800行代码,没有外部依赖项。