会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
原野漫步
首页
新随笔
联系
订阅
管理
上一页
1
2
3
2020年10月3日
使用模拟退火算法优化 Hash 函数
摘要: 背景 现有个处理股票行情消息的系统,其架构如下: 由于数据量巨大,系统中启动了 15 个线程来消费行情消息。消息分配的策略较为简单:对 symbol 的 hashCode 取模,将消息分配给其中一个线程进行处理。 经过验证,每个线程分配到的 symbol 数量较为均匀,于是系统愉快地上线了。 运行一
阅读全文
posted @ 2020-10-03 22:25 buttercup
阅读(1490)
评论(2)
推荐(5)
2020年8月10日
LSM-Tree 与 B-Tree
摘要: 外部存储 数据库管理系统DBMS是现代应用中不可或缺的一部分,其中一个重要原因是其隐藏了外存管理的细节,并为应用层提供了高效、易用的数据检索Retrieval与持久化Persistence功能。 外存具有容量大、成本低、断电非易失等优点,但同时也存在寻址慢、访问粒度粗的问题: 内存寻址速度快(ns
阅读全文
posted @ 2020-08-10 00:10 buttercup
阅读(2079)
评论(1)
推荐(2)
2020年5月23日
Raft 协议(附完整实现源码)
摘要: Paxos 存在的问题 Paxos 算法的描述偏学术化,缺失了很多细节,无法直接应用于工程领域。实际工程应用中的分布式算法大多是 Paxos 的变种,验证这些算法的正确性也成为了一个难题。 举个例子:上一篇文章的 最后 介绍了一个应用 Paxos 算法的工程模型,这个模型存在明显的写性能瓶颈: 使用
阅读全文
posted @ 2020-05-23 18:40 buttercup
阅读(6483)
评论(0)
推荐(1)
2020年5月12日
Paxos 协议
摘要: 可用性与一致性 为了向用户提供更好的服务体验,现代软件架构越来越注重系统的可用性availability。 正是在这种趋势的驱动下,微服务与容器化技术才能在今天大行其道。 而高可用架构的前提是冗余: 一个高可用服务必然由多个进程组成,这些进程互为备份,部分进程失效不会导致整个服务不可用。 如果服务是
阅读全文
posted @ 2020-05-12 00:50 buttercup
阅读(791)
评论(0)
推荐(0)
2020年5月4日
浅谈分布式一致性(DDIA读书笔记)
摘要: 副本一致性 现代的数据库系统来说,几乎都具备了复制机制replication,这种设计方式至少能对系统带来两个好处: 多副本容灾:只要存在一个可用数据副本,数据就能够恢复 读性能水平扩展:通过分布到不同的机器上,同一份数据能够在多个节点上同时供外部访问 保证多副本的数据一致性consistency是
阅读全文
posted @ 2020-05-04 01:09 buttercup
阅读(2399)
评论(0)
推荐(0)
上一页
1
2
3