惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
B
Blog
博客园_首页
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
C
Check Point Blog
Martin Fowler
Martin Fowler
J
Java Code Geeks
博客园 - 司徒正美
美团技术团队
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
小众软件
小众软件

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
《发布!设计与部署稳定的分布式系统(第2版)》- 迈克尔·尼加德
Tianlun Song · 2022-12-17 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

发布!设计与部署稳定的分布式系统(第2版) 迈克尔·尼加德 16个笔记 ◆ 译者序 因为很多开发人员

在考虑分布式系统稳定性的设计时,会假设生产环境处于

发布!设计与部署稳定的分布式系统(第2版) 迈克尔·尼加德 16个笔记

◆ 译者序

因为很多开发人员在考虑分布式系统稳定性的设计时,会假设生产环境处于产品运行最理想的状态,且用户的行为是理智、可预见的。

◆ 前言

不具备稳定性的系统,就是不可用的系统。

系统不应该崩溃、停止响应、丢失数据、侵犯隐私、损失金钱、摧毁公司,或者“杀死”客户。

大多数软件是为软件开发实验室或QA部门的测试工程师设计的。

今天的软件设计类似于20世纪90年代早期的汽车设计,它们都与现实世界脱节。

在实验室这种宁静空间里,设计师所做出的设计既是那么地优雅、复杂、精巧,又是那么地脆弱、不中用,最终早早被淘汰

如今大多数的软件架构和设计,同样在干净、稳定却与现实相差甚远的环境中进行。

软件只有产品化才能产生价值。

◆ 第一部分 创造稳定性

拥有数百架飞机和几万名员工的这家价值数十亿美元的全球性航空公司,被迫停飞的原因只是一个未被捕获的SQLException异常。

威胁系统寿命的主要敌人是内存泄漏和数据增长。

一旦创建套接字,TCP连接就可以保持好几天,而且无须任何一方发送数据包。只要两个终端计算机内存中都具有该套接字状态,那么“连接”就仍然有效。路由可以改变,物理链路可以被断开和重新连接,这些都没关系,只要终端的两台计算机认为“连接”确实存在,那么“连接”就会持续存在。

这个例子的主要教训是,不是每个问题都可以在它所体现的抽象层面上来解决。有时候,这些原因会在各个层面上下交织。

Redis是将内存移出进程的另一个流行工具。它是一种快速的“数据结构服务器”,其定位介乎缓存和数据库之间。

会话是Web应用程序的命门死穴

会话的作用就是在内存中缓存数据。

早期的通用网关接口应用程序不需要会话,因为它们会为每个新请求启动一个新进程(通常是一个Perl脚本)。