<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="675" viewBox="0 0 1200 675" role="img" aria-label="服务降级与熔断限流职责边界">
  <defs>
    <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0" stop-color="#f7fbff"/>
      <stop offset="1" stop-color="#f8f3ed"/>
    </linearGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
      <feDropShadow dx="0" dy="8" stdDeviation="10" flood-color="#1d3042" flood-opacity="0.13"/>
    </filter>
    <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto">
      <path d="M0 0L10 5L0 10Z" fill="#436c80"/>
    </marker>
  </defs>
  <rect width="1200" height="675" fill="url(#bg)"/>
  <text x="60" y="58" font-family="Arial, sans-serif" font-size="26" font-weight="700" fill="#18384a">限流、熔断、降级分别保护不同风险点</text>
  <text x="60" y="92" font-family="Arial, sans-serif" font-size="16" fill="#647484">入口控制流量，调用端隔离依赖，业务层提供可接受的兜底结果</text>

  <rect x="70" y="160" width="245" height="300" rx="24" fill="#ffffff" stroke="#d5e2ea" filter="url(#shadow)"/>
  <circle cx="192" cy="210" r="38" fill="#e6f2ff" stroke="#bdd8f2"/>
  <text x="162" y="217" font-family="Arial, sans-serif" font-size="18" font-weight="700" fill="#25517a">限流</text>
  <text x="112" y="284" font-family="Arial, sans-serif" font-size="16" font-weight="700" fill="#23485a">控制进入多少请求</text>
  <text x="112" y="318" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">QPS、并发、配额</text>
  <text x="112" y="348" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">网关、入口服务</text>
  <text x="112" y="378" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">返回排队或稍后重试</text>

  <rect x="475" y="160" width="245" height="300" rx="24" fill="#ffffff" stroke="#d5e2ea" filter="url(#shadow)"/>
  <circle cx="598" cy="210" r="38" fill="#fff2dd" stroke="#edc98f"/>
  <text x="568" y="217" font-family="Arial, sans-serif" font-size="18" font-weight="700" fill="#82581e">熔断</text>
  <text x="517" y="284" font-family="Arial, sans-serif" font-size="16" font-weight="700" fill="#23485a">判断依赖还要不要调</text>
  <text x="517" y="318" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">错误率、慢调用、失败次数</text>
  <text x="517" y="348" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">调用端、代理、服务网格</text>
  <text x="517" y="378" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">打开后快速失败</text>

  <rect x="880" y="160" width="245" height="300" rx="24" fill="#ffffff" stroke="#d5e2ea" filter="url(#shadow)"/>
  <circle cx="1002" cy="210" r="38" fill="#e9f8ee" stroke="#b8dfc3"/>
  <text x="972" y="217" font-family="Arial, sans-serif" font-size="18" font-weight="700" fill="#2f6940">降级</text>
  <text x="922" y="284" font-family="Arial, sans-serif" font-size="16" font-weight="700" fill="#23485a">能力受限时返回什么</text>
  <text x="922" y="318" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">缓存、默认值、异步受理</text>
  <text x="922" y="348" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">业务服务、前端、配置中心</text>
  <text x="922" y="378" font-family="Arial, sans-serif" font-size="14" fill="#5f7484">保核心链路可用</text>

  <path d="M315 310 H475" stroke="#436c80" stroke-width="3" fill="none" marker-end="url(#arrow)"/>
  <path d="M720 310 H880" stroke="#436c80" stroke-width="3" fill="none" marker-end="url(#arrow)"/>
  <text x="345" y="290" font-family="Arial, sans-serif" font-size="14" fill="#436c80">进入调用链</text>
  <text x="747" y="290" font-family="Arial, sans-serif" font-size="14" fill="#436c80">需要兜底</text>

  <rect x="156" y="520" width="888" height="74" rx="20" fill="#18384a" opacity="0.96"/>
  <text x="196" y="552" font-family="Arial, sans-serif" font-size="16" font-weight="700" fill="#ffffff">组合目标</text>
  <text x="196" y="578" font-family="Arial, sans-serif" font-size="14" fill="#d8e6ec">先削峰，再隔离异常依赖，最后用明确的业务语义返回缓存、默认值、排队、失败或人工处理状态。</text>
</svg>
