摘要: python 的多线程与 GIL python 的多线程多少有点违背大家的直觉,由于 GIL 的存在和线程上下文的切换,多线程并没有起到加快运算速度,反而更慢。以最常用的 CPython 为例,由于 GIL 的存在,以下 CPU 密集型的应用,单线程和多线程结果并没多少差别。 python 版本的多 阅读全文
posted @ 2022-04-18 22:30 drop * 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 架构反思-01-康威定律 从开发逐步转到做系统设计已经有挺长一段时间了,在这个过程中有向别人学习的东西,有从好的书上学到的东西,有自己摸索的一点经验,抽点时间整理下,也反思在系统设计上的问题。 把康威定律作为第一条,是因为实际上是从康威定律开始才去思考系统元素结构问题,慢慢地开始有意识去反思业务、组 阅读全文
posted @ 2021-04-09 17:22 drop * 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 架构反思-03-并发是很复杂的事情 多核给程序带了更强的处理能力,本质上来说,这是一种横向扩展的方法。同样地,它也要面对任何横向扩展的方法都必须面对的问题,事情划分和合并,以及这个过程中所必须处理的同步、一致性等事务性问题。 并发是一件很复杂的事情,这不仅体现在大型的场景上,如业务层面的,多机集群共 阅读全文
posted @ 2021-03-27 17:09 drop * 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 架构反思-02-抽奖场景 用抽奖场景作为第二篇,是因为抽奖场景是常见的高并发场景,同时也是在面试中考察面试者思维和逐步优化的常见题目。抽奖这件事,是有点玄乎的,它不单是一个技术问题,同时也涉及到业务优化的问题。 不过比较奇怪的是,每次面试到这类题目,面试者都是往内存缓存和 redis 的方向来找解决 阅读全文
posted @ 2021-03-27 04:12 drop * 阅读(86) 评论(0) 推荐(0) 编辑
摘要: RUST 交叉编译 arm64 的浮点函数问题 最近在把一个项目迁移到支持 arm64(aarch64) 时,遇到了个 rust 编译器的问题,由于 rust 有部分函数没实现,会出现找不到符号的情况,如 ... vfprintf.c:(.text.fmt_fp+0x178): undefined 阅读全文
posted @ 2020-09-14 10:51 drop * 阅读(958) 评论(0) 推荐(0) 编辑
摘要: vscode 远程开发 gradle java 项目的问题 用 vscode 远程连接到开发服务器开发 gradle 项目时,vscode 的 gradle tasks 插件可能会遇到 java 环境变量的问题,导致无法正常刷新出 项目中的 gradle 任务。 修改方法很简单,在 vscode 的 阅读全文
posted @ 2020-09-03 10:48 drop * 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: rust 交叉编译树莓派程序 使用 rust 写树莓派程序时,如果直接在树莓派上进行编译,速度非常慢,如果是 zero 那更加是慢到受不了。因此最好是能通过开发机编译完后,直接放到树莓派上运行。 由于开发机上的 cpu 架构、操作系统和目标机不同,开发机通常是 x86 架构,系统可以是 mac、li 阅读全文
posted @ 2020-05-09 23:49 drop * 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: TCP 连接半关闭问题 在用 rust + tokio 的网络处理时,碰到一个很有意思的 tcp 连接并关闭的问题。 具体是这样的,首先一个 tcp stream 拆分(split)为 SplitSink + SplitStream 的方式,各自单独工作。 通过 SplitStream 读取到客户端 阅读全文
posted @ 2020-04-26 23:33 drop * 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 单机 kubenetes 关机后无法自动启动问题 在桌面版本的 Ubuntu 等安装了单机版的 k8s 后,重启后用 docker ps a 查看,会发现 k8s 的容器都没有启动。 查了一下,发现主要是因为 swap 分区在重启后自动开启了,需要把它关掉 首先,在 ,注释掉 swap 的挂载 sw 阅读全文
posted @ 2020-04-08 15:46 drop * 阅读(884) 评论(0) 推荐(0) 编辑
摘要: ubuntu k8s 单节点快速安装 很早以前记录过 ubuntu 上 k8s 的单节点安装,现在更新一下 ubuntu 18.04 上 k8s 单节点的快速安装,方便参考。 安装过程 安装 docker curl fsSL https://get.docker.com | sudo sh 使用 u 阅读全文
posted @ 2020-03-01 23:27 drop * 阅读(2251) 评论(0) 推荐(0) 编辑