程序编程实战教程 -AI、Java、Spring Boot 实战 专注后端开发知识分享,涵盖 Java 基础、Spring Boot 实战、数据库优化与中间件应用,助力程序员成长为优秀后端开发工程师。

系统设计基础 - 缓存

摘要: 本文主要介绍了系统设计中的缓存概念,包括不同类型的缓存(如客户端缓存、边缘缓存、应用程序级缓存、数据库缓存和分布式缓存)以及缓存策略。文章强调了缓存对于优化应用程序性能和响应时间的重要性,并解释了如何通过分析使用模式、数据波动性和访问频率来确定要缓存哪些数据。此外,文章还列出了系统设计面试中必须了解的10个缓存相关的基础知识和概念,包括客户端缓存、服务器端缓存、数据库缓存等,以帮助读者为系统设计面试做好准备。

系统设计面试中的 10 个微服务架构挑战

摘要:本文主要讨论了微服务架构的十大挑战,包括服务沟通、数据管理、分布式跟踪和监控、服务编排和编排、部署和DevOps、跨服务测试等方面的挑战。文章详细阐述了每个挑战的具体内容和解决方法,如使用API网关、多语言持久性策略、事件源和CQRS技术、分布式跟踪系统、容器化和Kubernetes编排、DevOps实践和自动化部署管道、结合集成测试、契约测试和端到端测试等。此外,文章还提到了程序员在准备系统设计面试时,了解这些挑战及其解决方案的重要性,并推荐了一些学习资源如ByteByteGo、DesignGuru等网站。

8 门系统设计课程,学习分布式系统架构(2025)

摘要: 本文介绍了八门推荐的 Udemy 系统设计课程,旨在帮助在 2025 年学习软件架构和系统设计的读者。文章提及的课程包括Frank Kane的《掌握系统设计面试》和现代大型系统的软件架构与设计等。这些课程涵盖了系统设计的基础概念,为面试准备的内容,以及软件架构的高级主题。文章还提到了课程的讲师资历和社会认同度,并提供了加入课程的链接。

14 个案例研究:一个月内掌握系统设计

本文介绍了通过深入研究 14 个系统设计案例研究,包括PayPal、WhatsApp、Uber、YouTube等公司的系统设计理念,旨在帮助读者在一个月内掌握系统设计能力。文章讨论了这些公司如何处理大规模和复杂性的业务,包括使用 Actor 模型、地理空间索引和幂等 API 等技术来确保系统的可扩展性、稳定性和效率。此外,文章还涉及AWS Lambda、PostgreSQL集群和缓存一致性等系统设计的核心组件和策略。

高级软件工程师如何记录他们的项目

这篇文章主要介绍了高级软件工程师如何记录他们的项目中的架构决策。作者强调了架构决策记录(ADR)的重要性,指出通过记录变化和决策,不仅能帮助避免遗忘背后的原因,还能让团队变得更好,并让未来的开发人员更好地理解并感激这些决策。文章介绍了如何撰写ADR,包括一些基本模板和例子。作者还提到了自己的实践经验,并鼓励读者订阅其时事通讯以获取更多相关内容。文章重点在于记录和分享技术决策的经验和教训,以促进团队协作和提高效率。