<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>隔离 on Leanku 的博客</title><link>https://www.leanku.com/tags/%E9%9A%94%E7%A6%BB/</link><description>Recent content in 隔离 on Leanku 的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 11 Jul 2025 20:46:01 +0800</lastBuildDate><atom:link href="https://www.leanku.com/tags/%E9%9A%94%E7%A6%BB/index.xml" rel="self" type="application/rss+xml"/><item><title>高并发系统设计-隔离</title><link>https://www.leanku.com/post/microservice/%E9%AB%98%E5%B9%B6%E5%8F%91%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1-%E9%9A%94%E7%A6%BB/</link><pubDate>Fri, 11 Jul 2025 20:46:01 +0800</pubDate><guid>https://www.leanku.com/post/microservice/%E9%AB%98%E5%B9%B6%E5%8F%91%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1-%E9%9A%94%E7%A6%BB/</guid><description>&lt;h1 id="高并发系统设计-隔离"&gt;高并发系统设计-隔离&lt;/h1&gt;&#10;&lt;h2 id="一概述"&gt;一、概述&lt;/h2&gt;&#10;&lt;h3 id="11-什么是隔离"&gt;1.1 什么是隔离&lt;/h3&gt;&#10;&lt;p&gt;隔离（Bulkhead）源自船舶结构设计：&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;船体被分割成多个“水密舱”，即使某一舱进水，也不会导致整船沉没。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;在分布式系统中对应为：&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;将不同业务流量或依赖资源隔离开，避免相互影响。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;例如：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;订单服务&#10;支付服务&#10;库存服务&#10;推荐服务&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果没有隔离：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;推荐服务慢查询&#10;→ 占满线程池&#10;→ 订单无法处理&#10;→ 系统崩溃&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="12-为什么需要隔离"&gt;1.2 为什么需要隔离&lt;/h3&gt;&#10;&lt;p&gt;在高并发系统中，最危险的不是“单点失败”，而是：&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;资源被某一个模块耗尽&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;典型问题：&lt;/p&gt;&#10;&lt;h4 id="1-线程池被占满"&gt;1. 线程池被占满&lt;/h4&gt;&#10;&lt;p&gt;慢接口占用所有 worker&#10;→ 新请求无法处理&lt;/p&gt;&#10;&lt;h4 id="2-连接池被耗尽"&gt;2. 连接池被耗尽&lt;/h4&gt;&#10;&lt;p&gt;某服务频繁调用DB&#10;→ 连接池100个全部占满&lt;/p&gt;&#10;&lt;h4 id="3某服务拖垮整个系统"&gt;3.某服务拖垮整个系统&lt;/h4&gt;&#10;&lt;p&gt;推荐服务异常&#10;→ 影响订单服务&#10;→ 影响支付服务&#10;→ 全系统不可用&lt;/p&gt;&#10;&lt;h3 id="13-隔离的核心目标"&gt;1.3 隔离的核心目标&lt;/h3&gt;&#10;&lt;p&gt;隔离的本质是：&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;限制资源共享范围，防止“一个坏点影响全局”&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;目标：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;防止资源争抢&lt;/li&gt;&#10;&lt;li&gt;防止链式崩溃&lt;/li&gt;&#10;&lt;li&gt;提高系统稳定性&lt;/li&gt;&#10;&lt;li&gt;控制故障范围&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="14-典型场景"&gt;1.4 典型场景&lt;/h3&gt;&#10;&lt;h4 id="场景1电商系统"&gt;场景1：电商系统&lt;/h4&gt;&#10;&lt;p&gt;订单 / 支付 / 推荐 / 搜索&lt;/p&gt;&#10;&lt;p&gt;要求：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;推荐挂了不能影响下单&lt;/li&gt;&#10;&lt;li&gt;搜索挂了不能影响支付&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h4 id="场景2微服务调用"&gt;场景2：微服务调用&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;Service A → B → C → D&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果 D 崩溃：&lt;/p&gt;</description></item></channel></rss>