learn.lianglianglee.com/专栏/深入理解 Sentinel(完)/index.html
2022-08-14 03:40:33 +08:00

191 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>深入理解 Sentinel</h1>
<ul>
<li><a href = '\专栏\深入理解 Sentinel\01 开篇词:一次服务雪崩问题排查经历.md.html'>01 开篇词:一次服务雪崩问题排查经历</a></li>
<li><a href = '\专栏\深入理解 Sentinel\02 为什么需要服务降级以及常见的几种降级方式.md.html'>02 为什么需要服务降级以及常见的几种降级方式</a></li>
<li><a href = '\专栏\深入理解 Sentinel\03 为什么选择 SentinelSentinel 与 Hystrix 的对比.md.html'>03 为什么选择 SentinelSentinel 与 Hystrix 的对比</a></li>
<li><a href = '\专栏\深入理解 Sentinel\04 Sentinel 基于滑动窗口的实时指标数据统计.md.html'>04 Sentinel 基于滑动窗口的实时指标数据统计</a></li>
<li><a href = '\专栏\深入理解 Sentinel\05 Sentinel 的一些概念与核心类介绍.md.html'>05 Sentinel 的一些概念与核心类介绍</a></li>
<li><a href = '\专栏\深入理解 Sentinel\06 Sentinel 中的责任链模式与 Sentinel 的整体工作流程.md.html'>06 Sentinel 中的责任链模式与 Sentinel 的整体工作流程</a></li>
<li><a href = '\专栏\深入理解 Sentinel\07 Java SPI 及 SPI 在 Sentinel 中的应用.md.html'>07 Java SPI 及 SPI 在 Sentinel 中的应用</a></li>
<li><a href = '\专栏\深入理解 Sentinel\08 资源指标数据统计的实现全解析(上).md.html'>08 资源指标数据统计的实现全解析(上)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\09 资源指标数据统计的实现全解析(下).md.html'>09 资源指标数据统计的实现全解析(下)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\10 限流降级与流量效果控制器(上).md.html'>10 限流降级与流量效果控制器(上)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\11 限流降级与流量效果控制器(中).md.html'>11 限流降级与流量效果控制器(中)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\12 限流降级与流量效果控制器(下).md.html'>12 限流降级与流量效果控制器(下)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\13 熔断降级与系统自适应限流.md.html'>13 熔断降级与系统自适应限流</a></li>
<li><a href = '\专栏\深入理解 Sentinel\14 黑白名单限流与热点参数限流.md.html'>14 黑白名单限流与热点参数限流</a></li>
<li><a href = '\专栏\深入理解 Sentinel\15 自定义 ProcessorSlot 实现开关降级.md.html'>15 自定义 ProcessorSlot 实现开关降级</a></li>
<li><a href = '\专栏\深入理解 Sentinel\16 Sentinel 动态数据源:规则动态配置.md.html'>16 Sentinel 动态数据源:规则动态配置</a></li>
<li><a href = '\专栏\深入理解 Sentinel\17 Sentinel 主流框架适配.md.html'>17 Sentinel 主流框架适配</a></li>
<li><a href = '\专栏\深入理解 Sentinel\18 Sentinel 集群限流的实现(上).md.html'>18 Sentinel 集群限流的实现(上)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\19 Sentinel 集群限流的实现(下).md.html'>19 Sentinel 集群限流的实现(下)</a></li>
<li><a href = '\专栏\深入理解 Sentinel\20 结束语Sentinel 对应用的性能影响如何?.md.html'>20 结束语Sentinel 对应用的性能影响如何?</a></li>
<li><a href = '\专栏\深入理解 Sentinel\21 番外篇Sentinel 1.8.0 熔断降级新特性解读.md.html'>21 番外篇Sentinel 1.8.0 熔断降级新特性解读</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>