缓存设计
在Spring Boot中配置Redis作为Hibernate二级缓存

通常情况下,RDBMS 数据库将成为您不断增长的应用程序中的主要可伸缩性瓶颈。这是由于 RDBMS 对水平扩展的天然抵制。已经出现了几种策略来缓解这个问题,包括只读副本、分区、分片以及将一些工作负载... 详细
后端系统中的可扩展读写操作方案

当您从头开始构建后端系统时,一切都会看起来很美好。API 响应速度极快(例如,100 毫秒响应时间),资源消耗看起来很稳定,最重要的是用户很高兴使用您的系统,这会让您为您的系统及其 架构 感到自... 详细
Twitter为什么没有宕机?

五年来,我一直是 Twitter 的站点可靠性工程师 (SRE),以后四年里,我是 Cache 团队唯一的 SRE,四年来,我负责团队中的自动化、可靠性和运营。我设计并实现了大部分保持它运行的工具。... 详细
使用Redis实现微服务分布式锁

使用Debezium实现缓存实时刷新 - gunnarmorling

俗话说计算机科学只有两件难的事:缓存失效和命名。好吧,事实证明第一个实际上已经解决了。 了解如何在靠近用户的分布式缓存中保持数据的读取视图,始终与您的主数据存储更改数据捕获保持同步。你将学到如何: ... 详细
大规模实时流计算的系统设计 - Kashyap

Redis老了吗?Redis与Dragonfly性能比较

使用 Nginx 缓存代理使您的后端更可靠

我们大多数人都熟悉 Nginx——它是一个非常流行的 Web 服务器和反向代理。但是您知道您也可以将它用作缓存代理吗? 现在,您可能想知道为什么有人想做这样的事情——您不能更新您的服务以在 Redi... 详细
缓存失效本身是一个难题 - Marc

Meta 的 缓存失效方案 论文涵盖了一些看起来很酷的可观察性和正确性工作 。 但我认为他们低估了从根本上使缓存变得困难的原因。 为什么缓存是有趣的?它们提供更便宜、更快速或更可扩展的数据访问。它... 详细
缓存高一致性:Meta的缓存失效解决方案

缓存有助于减少延迟、扩展读取繁重的工作负载并节省成本。它们实际上无处不在。缓存在您的手机和浏览器中运行。例如,CDN 和 DNS 本质上是地理复制缓存。多亏了许多在幕后工作的缓存,您现在可以阅读这篇... 详细
Lilliput:将Java对象头减为64位的里程碑版本发布

在64位Hotspot中,Java对象有一个128位的对象头:一个64位的多用途头("标记 "或 "锁定")字和一个64位的类指针。(正常Java 堆中的对象头是96 位,使用 -XX:-UseCo... 详细
迁移到JDK18为何写一个空的finalize()方法?

现在 JEP 421 (Deprecate Finalization for Removal)已经在 JDK 18 中交付,似乎越来越多的人在谈论 finalization 以及如何迁移到替代方... 详细
通过调度和预取提高 Hadoop 性能

在本文中,我们继续研究如何提高 Hadoop 的性能,如何解决数据访问模式、集群内存和有效调度方面的数据定位问题。 在Hadoop集群中,用户通常根据他们的业务需求来访问数据,这使得一些数据比... 详细