hj24.life

Peewee连接kingshard时支持批量insert吗

kingshard 是一个用 Go 编写的高性能 Mysql 代理,使用它可以做到业务层面无感知的分库分表,它会自动在业务与数据库之间做好数据的分发与聚合。 显然,从官方文档来看,kingshard 是支持跨节点的批量 insert 操作的,原文如下:

支持非事务方式更新(insert, delete, update, replace)多个 node 上的子表

而 peewee 是 python 中一个微型 orm,不过因为小众,所以连接 kingshard 时发生一些奇怪的问题也很难找到前人踩的坑,所以本文就从搭建一套 kingshard 环境讲起,就验证 peewee 是否能成功在 kingshard 中跨节点批量 insert 做个记录。

记一次扇贝账号服务的压测

按照经验估计,每年年后过来四六级查分的时候都是扇贝各个业务的高峰期,也是扇贝新用户注册的高峰,19 年账号服务刚上线的时候因为这波高峰挂掉过,于是每年春节放假前对账号系统做压测就成了传统,这一次也是我接手账号服务之后做的第一次压测,做个简单的记录。

Things I Don T Know as of 2020

去年的 Things I Don’t Know as of 2019

一年过去了,更新一篇作为年终总结。

一次P0事故引起的业务思考

背景是前几天的一次 P0 事故,我们当做数据库用的 redis 满了,触发了配置的 LRU 逐出策略,逐出了 20min 的 key,导致大概有 2w 用户当天的学习数据丢失,在处理过程中有很多值得总结的点,于是写下这篇博客。

Hugo使用指北

从 hexo 迁移到了 hugo,从安装到部署,记录一下使用流程。

从源码看flask是如何保证线程安全的

之前粗略的看过flask的文档,知道了它是线程安全的,大概是通过维护了一个以线程ID (在 Greenlet 可用的情况下优先使用 Greenlet 的 ID,因此协程也是一样的)为键的字典,里面放了分配给这个线程的资源来做到线程隔离,以此实现线程安全的目的。

写这篇博客是因为之前有个同事问我他写了个全局变量,在flask里是线程安全的吗? 当时没过脑子,直接回答了是,现在想想…应该是把他坑了

为了彻底弄明白这个问题,我搜了很多知乎,stackoverflow,reddit的问答,还有一些博客,也看了一遍相关的源码,最后写下这篇博客,做个记录。