首页
学习
活动
专区
工具
TVP
发布

分布式研究小院

专栏成员
18
文章
8133
阅读量
16
订阅数
Tokio 中 hang 死所有 worker 的方法
Tokio[1] 的 task(一个Future) 里如果使用了阻塞调用, 例如 std::sync::Mutex, 会阻塞当前的 tokio-worker 线程, 这个 worker 无法再执行其他 task. 所以代码里如果不可避免的有(少量的)阻塞调用, 就要为 runtime 启动更多的 worker 线程, 保证存在没被阻塞的 worker 来执行待调度的 task, 以避免整个tokio runtime 完全 hang 住(有 task 但没 worker 运行它).
drdrxp
2023-02-20
5890
Rust 中 #[thread_local] 的drop方法不被调用
原文链接: https://drmingdrmer.github.io/tips/#/page/rust-thread-local-drop
drdrxp
2023-02-20
1.1K0
Paxos扩展: 偏序rnd = Paxos + 2PC
Paxos[1] phase-1 要求 Proposer 生产一个整数 n 来作为 rnd. 实际上 rnd 的定义从整数推广到任意的 偏序关系[2] 的值, 也同样能满足 Paxos 的正确性, 因为 Paxos 中主要只用到了 rnd 的大小关系的性质.
drdrxp
2022-12-23
2930
Paxos: (Optimize): Asymmetric Acceptors
类似 erasure-code 的算法也可以应用到paxos上以降低paxos的数据冗余.
drdrxp
2022-12-23
2720
mmp3 协议与epaxos的差异: 包含间接依赖才能保证线性一致性
mmp3 跟 epaxos 有个不同的地方, instance 复制到 replica 时要记录所有依赖的instance, 包括间接依赖的. 这是mmp3 保证 线性一致性的一个条件, 读过epaxos的同学可能会漏掉这个细节导致无法证明线性一致性. 例如下面这个容易出现疑问的 case:
drdrxp
2022-04-28
3160
将 paxos 和 raft 统一为一个协议: abstract-paxos
之前写了一篇 paxos的直观解释 , 用简单的语言描述了 paxos 的工作原理, 看过的朋友说是看过的最易懂的paxos介绍, 同时也问我是否也写一篇 raft 的. 但 raft 介绍文章已经很多很优质了, 感觉没什么可写的, 就一直拖着.
drdrxp
2022-04-28
2890
分布式一致性协议bug列表
开个坑, 记录下以往学习分布式paper时发现的bug, 或让人容易产生误会的点.
drdrxp
2022-04-28
2600
Multi-Master-Paxos-3
200行代码实现paxos-kv 中介绍了一款非常简洁的分布式kv存储实现, 它是基于 classic-paxos 实现分布式一致性. 在 paxos的直观解释 中我们提到, 每次写入, 也就是每个 paxos 实例需要2轮 RPC 完成, 效率低.
drdrxp
2022-04-28
3870
100行代码的压缩前缀树: 50% smaller
本文链接: https://blog.openacid.com/algo/succinctset
drdrxp
2022-04-28
5200
TiDB 在 Raft 成员变更上踩的坑
上次跟好基 黄东旭 在咖啡厅撩天的时候谈笑风生地探讨了一个 TiDB 使用 Raft 时遇到的问题:
drdrxp
2022-04-28
4420
slimarray: gzip的压缩率, 即时访问
本文链接: [https://blog.openacid.com/algo/slimarray/]
drdrxp
2022-04-28
3700
200行代码实现基于paxos的kv存储
本文链接: [https://blog.openacid.com/algo/paxoskv/]
drdrxp
2022-04-28
3400
后分布式时代: 多数派读写的’少数派’实现
本文链接: [https://blog.openacid.com/algo/quorum/]
drdrxp
2022-04-28
3700
可靠分布式系统-paxos的直观解释
另外一个经常被提及的分布式算法是[raft], raft的贡献在于把一致性算法落地. 因为 [Leslie Lamport] 的理论很抽象, 要想把他的理论应用到现实中, 还需要工程师完全掌握他的理论再添加工程必要的环节才能跑起来.
drdrxp
2022-04-28
2490
Erasure-Code-擦除码-3-极限篇
本文链接: [https://blog.openacid.com/storage/ec-3/]
drdrxp
2022-04-28
7400
Erasure-Code-擦除码-2-实现篇
本文链接: [https://blog.openacid.com/storage/ec-2/]
drdrxp
2022-04-28
6900
Erasure-Code-擦除码-1-原理篇
本文链接: [https://blog.openacid.com/storage/ec-1/] 下载pdf: [Erasure-Code-擦除码-1-原理篇.pdf]
drdrxp
2022-04-28
5330
Art of Pull Requests(翻译)
正如我之前写的, 我们是一个远程团队,团队成员遍布世界各地。这意味着code reviews 和 pull requests必须远程完成。
drdrxp
2022-04-28
3350
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档