posts

Posts

全部文章 Game Rust Lua GameDev Prd 客户端开发 游戏开发 Indie Saas Developer
design

第06章:key-value 存储设计

> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除! 键值存储,也称为键值数据库,是一种非关系数据库。每个唯一标识符都存储为一个键及其关联值,这种数据配对称为“键值”对。 在键值对中,键必须是唯一的,通过键可以访问与键关联的值。键可以是纯文本或散列值。出于性能原因,短键...

15 分钟阅读
system design scale java
design

第05章:一致性hash设计

> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除! 为了实现水平扩展,在服务器之间高效、均匀地分配请求/数据非常重要。一致哈希是实现这一目标的常用技术。但首先,让我们深入研究一下这个问题。 再哈希问题 如果你有n个缓存服务器,平衡负载的一个常用方法是使用以下哈希方法...

6 分钟阅读
system design consistent hashing java
design

第02章:粗略估算

> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!在系统设计面试中,有时会要求你使用粗略估算来估计系统的容量或性能需求。根据谷歌高级研究员杰夫·迪恩(Jeff Dean)的说法,“粗略估算是使用一系列思维实验和常见性能数据的组合进行估算,以便对哪种设计能够满足你的要求...

5 分钟阅读
system design predict java
design

第01章:从0到百万用户

> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!设计一个支持数百万用户的系统具有挑战性,是一个需要持续完善和不断改进的过程。在这一章中,我们构建一个支持单个用户的系统,并逐渐扩展以服务数百万用户。阅读完这一章后,你将掌握一些技巧,有助于你解决系统设计面试问题。

19 分钟阅读
system design scale java
java

Project Loom虚拟介绍

的目标是减少编写、维护和观察高吞吐量并发应用程序的努力,同时充分利用可用的硬件资源。它通过引入虚拟线程来实现这一点,虚拟线程在代码中、运行时、调试器和分析器中都被视为 。虚拟线程不是 OS 线程的包装器,而是 实体。创建虚拟线程的成本很低,可以拥有数以百万计的虚拟线程,而不需要对它们进行池化管理。

7 分钟阅读
java project loom virutal thread