-
Notifications
You must be signed in to change notification settings - Fork 425
/
Copy pathindex.html
156 lines (109 loc) · 69.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Netkiller Architect 手札</title><link rel="stylesheet" type="text/css" href="docbook.css" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="description" content=" 本电子书采用碎片化写作方式,所以没有截止时间,写作也很随意,内容不断填充,更新,章节不断扩展和调整。每年的年底我会推出 epub, Kindle mobi 等格式的电子书。" /><link rel="home" href="index.html" title="Netkiller Architect 手札" /><link rel="next" href="preface.html" title="自述" /></head><body><a xmlns="" href="//www.netkiller.cn/">Home</a> | <a xmlns="" href="//netkiller.github.io/">简体中文</a> | <a xmlns="" href="http://netkiller.sourceforge.net/">繁体中文</a> | <a xmlns="" href="/journal/index.html">杂文</a>
| <a xmlns="" href="https://github.com/netkiller">Github</a> | <a xmlns="" href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a> | <a xmlns="" href="https://www.facebook.com/bg7nyt">Facebook</a> | <a xmlns="" href="http://cn.linkedin.com/in/netkiller/">Linkedin</a> | <a xmlns="" href="https://www.youtube.com/user/bg7nyt/videos">Youtube</a> | <a xmlns="" href="//www.netkiller.cn/home/donations.html">打赏(Donations)</a> | <a xmlns="" href="//www.netkiller.cn/home/about.html">About</a><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Netkiller Architect 手札</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="preface.html">下一页</a></td></tr></table><hr /></div><table xmlns=""><tr><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=watch&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=fork&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&type=follow&count=true&size=large" height="30" width="240" frameborder="0" scrolling="0" style="width:240px; height: 30px;" allowTransparency="true"></iframe></td><td></td><td><a href="https://zhuanlan.zhihu.com/netkiller"><img src="/images/logo/zhihu-card-default.svg" height="25" /></a></td><td valign="middle"><a href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a></td><td></td><td></td><td></td><td></td></tr></table><div xml:lang="zh-cn" class="book" lang="zh-cn"><div class="titlepage"><div><div><h1 class="title"><a id="id768"></a>Netkiller Architect 手札</h1></div><div><h2 class="subtitle"><a class="ulink" href="https://edu.51cto.com/course/26987.html" target="_top">《Netkiller Architect 手札》视频教程</a>(2025版)</h2></div><div><div class="authorgroup">
<div class="authorgroup">
<div class="author"><h3 class="author"><span class="honorific">Mr</span>. <span class="firstname">Neo</span> <span class="othername"></span> <span class="surname">Chan</span>, <span class="lineage">陈景峯(BG7NYT)</span></h3><div class="affiliation">
<div class="address"><p><br />
<br />
<span class="country">中国</span><span class="state">广东省</span><span class="city">深圳市</span><span class="street">望海路半岛城邦三期</span><br />
<span class="postcode">518067</span><br />
<span class="phone">+86 13113668890</span><br />
<br />
<code class="email"><<a class="email" href="mailto:netkiller@msn.com">netkiller@msn.com</a>></code><br />
</p></div>
</div></div>
</div>
</div></div><div><p class="releaseinfo">
</p><p>
电子书最近一次更新于
<span class="date">2025-03-19 09:12:02
</span>
</p><p class="releaseinfo">
</p></div><div><p class="copyright">版权 © 2008-2019 Copyright Editor Groups, All Rights Reserved</p></div><div><div class="legalnotice"><a id="legalnotice"></a>
<p class="legalnotice-title"><strong>版权声明</strong></p>
<p>转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。</p>
<table border="0" summary="Simple list" class="simplelist"><tr><td>
<a class="ulink" href="images/cover.png" target="_top">
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="250"><tr><td><img src="images/cover.png" width="250" /></td></tr></table></div>
</a>
</td><td>
<p></p>
</td><td>
<table border="0" summary="Simple list" class="simplelist"><tr><td>
<table border="0" summary="Simple list" class="simplelist"><tr><td>
<a class="ulink" href="https://creativecommons.org/licenses/by/4.0/" target="_top">
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="180"><tr><td><img src="/images/by-nc-sa.png" width="180" /></td></tr></table></div>
</a>
</td></tr><tr><td>
<a class="ulink" href="http://www.netkiller.cn" target="_top">http://www.netkiller.cn</a>
</td></tr><tr><td>
<a class="ulink" href="http://netkiller.github.io/" target="_top">http://netkiller.github.io</a>
</td></tr><tr><td>
<a class="ulink" href="http://netkiller.sourceforge.net/" target="_top">http://netkiller.sourceforge.net</a>
</td></tr><tr><td>微信公众号: netkiller</td></tr><tr><td>微信:13113668890 请注明“读者”</td></tr><tr><td>QQ:13721218 请注明“读者”</td></tr><tr><td>QQ群:128659835 请注明“读者”</td></tr><tr><td></td></tr><tr><td>
<a class="ulink" href="https://zhuanlan.zhihu.com/netkiller" target="_top">知乎专栏</a>
</td></tr></table>
</td><td>
<a class="ulink" href="images/wechat.png" target="_top">
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="600"><tr><td><img src="images/wechat.png" width="600" /></td></tr></table></div>
</a>
</td></tr></table>
</td></tr></table>
</div></div><div><div class="abstract"><p class="title"><strong></strong></p>
<p></p>
<p>本电子书采用碎片化写作方式,所以没有截止时间,写作也很随意,内容不断填充,更新,章节不断扩展和调整。每年的年底我会推出 epub, Kindle mobi 等格式的电子书。</p>
</div></div></div><hr /></div><div class="dedication"><div class="titlepage"><div><div><h1 class="title"><a id="dedication"></a>致读者</h1></div></div></div>
<table border="0" summary="Simple list" class="simplelist"><tr><td>
<a class="ulink" href="https://archiveprogram.github.com/arctic-vault/" target="_top">
<div><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="NaN"><tr><td><img src="images/logo/badge--acv-64.png" width="NaN" /></td></tr></table></div>
</a>
</td><td>
<p>Netkiller 系列手札 已经被 Github 收录,并备份保存在北极地下250米深的代码库中,备份会保留1000年。</p>
<p>Preserving open source software for future generations</p>
<p>The world is powered by open source software. It is a hidden cornerstone of modern civilization, and the shared heritage of all humanity.</p>
<p>The GitHub Arctic Code Vault is a data repository preserved in the Arctic World Archive (AWA), a very-long-term archival facility 250 meters deep in the permafrost of an Arctic mountain.</p>
<p>We are collaborating with the Bodleian Library in Oxford, the Bibliotheca Alexandrina in Egypt, and Stanford Libraries in California to store copies of 17,000 of GitHub’s most popular and most-depended-upon projects—open source’s “greatest hits”—in their archives, in museum-quality cases, to preserve them for future generations.</p>
<p>
<a class="ulink" href="https://archiveprogram.github.com/arctic-vault/" target="_top">https://archiveprogram.github.com/arctic-vault/</a>
</p>
</td></tr></table>
</div><div class="toc"><p><strong>目录</strong></p><dl class="toc"><dt><span class="preface"><a href="preface.html">1. 自述</a></span></dt><dd><dl><dt><span class="section"><a href="preface.html#reader">1.1. 写给读者</a></span></dt><dt><span class="section"><a href="author.html">1.2. 作者简介</a></span></dt><dt><span class="section"><a href="preface.download.html">1.3. 如何获得文档</a></span></dt><dt><span class="section"><a href="donations.html">1.4. 打赏(Donations)</a></span></dt><dt><span class="section"><a href="contacts.html">1.5. 联系方式</a></span></dt></dl></dd><dt><span class="chapter"><a href="多维度架构设计.html">1. 多维度架构设计</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计.html#什么是多维度架构">1.1. 什么是多维度架构</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计.html#id770">1.1.1. 架构与格局</a></span></dt><dt><span class="section"><a href="多维度架构设计.html#架构师的大局观">1.1.2. 架构师的大局观</a></span></dt><dt><span class="section"><a href="多维度架构设计.html#运维的三重境界">1.1.3. 运维的三重境界</a></span></dt></dl></dd><dt><span class="section"><a href="h5.html">1.2. 多维度架构之网站HTML</a></span></dt><dd><dl><dt><span class="section"><a href="h5.html#id777">1.2.1. 网站的历史演变</a></span></dt><dt><span class="section"><a href="h5.html#cluster">1.2.2. 集群(Cluster)</a></span></dt><dt><span class="section"><a href="h5.html#cache">1.2.3. 缓存技术</a></span></dt><dt><span class="section"><a href="h5.html#h5.static">1.2.4. 网站静态内容出版</a></span></dt><dt><span class="section"><a href="h5.html#media">1.2.5. 多媒体数据分离</a></span></dt><dt><span class="section"><a href="h5.html#html.image">1.2.6. 图片尺寸优化与自动裁剪</a></span></dt><dt><span class="section"><a href="h5.html#compress">1.2.7. 压缩数据传输</a></span></dt><dt><span class="section"><a href="h5.html#ssl">1.2.8. SSL</a></span></dt><dt><span class="section"><a href="h5.html#h5.search">1.2.9. 搜索引擎相关优化</a></span></dt><dt><span class="section"><a href="h5.html#id827">1.2.10. 静态网站繁简转换</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之网络延迟.html">1.3. 多维度架构之网络延迟</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之网络延迟.html#中国的大网络环境">1.3.1. 中国的大网络环境</a></span></dt><dt><span class="section"><a href="多维度架构之网络延迟.html#架构设计需要考虑网络延迟">1.3.2. 架构设计需要考虑网络延迟</a></span></dt><dt><span class="section"><a href="多维度架构之网络延迟.html#总结">1.3.3. 总结</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之超时时间.html">1.4. 多维度架构之超时时间</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之超时时间.html#id831">1.4.1. 无处不在的超时时间</a></span></dt><dt><span class="section"><a href="多维度架构之超时时间.html#id832">1.4.2. 流量漏斗</a></span></dt><dt><span class="section"><a href="多维度架构之超时时间.html#id833">1.4.3. 微服务的超时时间</a></span></dt><dt><span class="section"><a href="多维度架构之超时时间.html#id834">1.4.4. 容器技术的超时时间</a></span></dt><dt><span class="section"><a href="多维度架构之超时时间.html#id835">1.4.5. 最后总结</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之会话数.html">1.5. 多维度架构之会话数</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之会话数.html#id836">1.5.1. 路由器和防火墙的会话数</a></span></dt><dt><span class="section"><a href="多维度架构之会话数.html#id837">1.5.2. 负载均衡设备的会话数</a></span></dt><dt><span class="section"><a href="多维度架构之会话数.html#id838">1.5.3. 服务器的会话数</a></span></dt><dt><span class="section"><a href="多维度架构之会话数.html#id839">1.5.4. 应用程序的会话数</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之日志.html">1.6. 多维度架构之日志</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之日志.html#一次切割日志引发的血案">1.6.1. 一次切割日志引发的血案</a></span></dt><dt><span class="section"><a href="多维度架构之日志.html#日志归档与数据挖掘">1.6.2. 日志归档与数据挖掘</a></span></dt><dt><span class="section"><a href="多维度架构之日志.html#日志中心规划">1.6.3. 日志中心规划</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之监控.html">1.7. 多维度架构之监控</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之监控.html#id860">1.7.1. 背景</a></span></dt><dt><span class="section"><a href="多维度架构之监控.html#id861">1.7.2. 概述</a></span></dt><dt><span class="section"><a href="多维度架构之监控.html#id867">1.7.3. 怎样监控</a></span></dt><dt><span class="section"><a href="多维度架构之监控.html#id868">1.7.4. 总结</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之分库分表.html">1.8. 多维度架构之分库分表</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之分库分表.html#id871">1.8.1. 切分策略</a></span></dt><dt><span class="section"><a href="多维度架构之分库分表.html#id872">1.8.2. 常规操作</a></span></dt><dt><span class="section"><a href="多维度架构之分库分表.html#分表需要从业务角度考虑">1.8.3. 分表需要从业务角度考虑</a></span></dt><dt><span class="section"><a href="多维度架构之分库分表.html#id873">1.8.4. 最后总结</a></span></dt></dl></dd><dt><span class="section"><a href="分布式计划任务.html">1.9. 分布式计划任务</a></span></dt><dd><dl><dt><span class="section"><a href="分布式计划任务.html#what">1.9.1. 什么是分布式计划任务</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#why">1.9.2. 为什么采用分布式计划任务</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#when">1.9.3. 何时使用分布式计划任务</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#where">1.9.4. 分布式计划任务的部署</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#who">1.9.5. 谁来写分布式计划任务</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#how">1.9.6. 怎么实现分布式计划任务</a></span></dt><dt><span class="section"><a href="分布式计划任务.html#id877">1.9.7. 每隔0.5秒执行一次</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之安全.html">1.10. 多维度架构之安全</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之安全.html#id881">1.10.1. 植入式攻击入侵检测解决方案</a></span></dt><dt><span class="section"><a href="多维度架构之安全.html#id885">1.10.2. Shell 历史记录异地留痕审计与监控</a></span></dt><dt><span class="section"><a href="多维度架构之安全.html#id886">1.10.3. 延伸阅读</a></span></dt></dl></dd><dt><span class="section"><a href="shell.html">1.11. Shell 高级编程</a></span></dt><dd><dl><dt><span class="section"><a href="shell.html#id887">1.11.1. 递归调用</a></span></dt><dt><span class="section"><a href="shell.html#id888">1.11.2. 实现守护进程</a></span></dt><dt><span class="section"><a href="shell.html#id889">1.11.3. 进程间通信</a></span></dt></dl></dd><dt><span class="section"><a href="devops.html">1.12. DevOps实施中你可能遇到的问题</a></span></dt><dd><dl><dt><span class="section"><a href="devops.html#什么是DevOps?">1.12.1. 什么是DevOps?</a></span></dt><dt><span class="section"><a href="devops.html#为什么会诞生DevOps">1.12.2. 为什么会诞生DevOps?</a></span></dt><dt><span class="section"><a href="devops.html#DevOps为什么难以普及呢">1.12.3. DevOps 虽好,为什么难以普及呢?</a></span></dt><dt><span class="section"><a href="devops.html#软件工程的历史与进化">1.12.4. 软件工程的历史与进化</a></span></dt><dt><span class="section"><a href="devops.html#为什么很多企业为什么实施DevOps以失败告终">1.12.5. 为什么很多企业为什么实施 DevOps 以失败告终?</a></span></dt><dt><span class="section"><a href="devops.html#持续集成不是DevOps">1.12.6. CI 持续集成不是DevOps</a></span></dt><dt><span class="section"><a href="devops.html#持续交付不是DevOps">1.12.7. CD 持续交付不是 DevOps</a></span></dt><dt><span class="section"><a href="devops.html#自动化部署">1.12.8. 自动化部署</a></span></dt><dt><span class="section"><a href="devops.html#收集各部门问题">1.12.9. 收集各部门问题</a></span></dt><dt><span class="section"><a href="devops.html#收缩技术栈">1.12.10. 收缩技术栈</a></span></dt><dt><span class="section"><a href="devops.html#被遗忘的数据库">1.12.11. 被遗忘的数据库</a></span></dt><dt><span class="section"><a href="devops.html#建立中心仓库">1.12.12. 建立中心仓库</a></span></dt><dt><span class="section"><a href="devops.html#缓存">1.12.13. 缓存</a></span></dt><dt><span class="section"><a href="devops.html#安全">1.12.14. 安全</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构设计之容器.html">1.13. Kubernetes & Docker 实施中你会遇到的问题</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计之容器.html#真的需要容器吗">1.13.1. 真的需要容器吗?</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#镜像会遇到的问题">1.13.2. 镜像会遇到的问题</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#容器会遇到的问题">1.13.3. 容器会遇到的问题</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#运维会遇到的问题">1.13.4. 运维会遇到的问题</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#人员的问题">1.13.5. 人员的问题</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#当kubernetes遇上微服务">1.13.6. 当 kubernetes 遇上微服务</a></span></dt><dt><span class="section"><a href="多维度架构设计之容器.html#id910">1.13.7. 最后总结</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构设计之微服务.html">1.14. 多维度架构之微服务</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计之微服务.html#微服务安全吗">1.14.1. 微服务安全吗?</a></span></dt><dt><span class="section"><a href="多维度架构设计之微服务.html#id915">1.14.2. 熔断器解决了什么问题?</a></span></dt><dt><span class="section"><a href="多维度架构设计之微服务.html#id917">1.14.3. 微服务的性能</a></span></dt><dt><span class="section"><a href="多维度架构设计之微服务.html#id923">1.14.4. 多维度架构之微服务拆分</a></span></dt><dt><span class="section"><a href="多维度架构设计之微服务.html#microservice.interface">1.14.5. 接口安全</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之远程异地灾备.html">1.15. 多维度架构之远程异地灾备</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id933">1.15.1. 背景</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id936">1.15.2. 灾备整体解决方案</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id940">1.15.3. 数据中心网络</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id944">1.15.4. 服务器部署</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id957">1.15.5. 软件开发</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id958">1.15.6. 自动化运维</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id975">1.15.7. 灾备培训和演练</a></span></dt><dt><span class="section"><a href="多维度架构之远程异地灾备.html#id978">1.15.8. FAQ</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之应用防火墙.html">1.16. 多维度架构之应用防火墙</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之应用防火墙.html#id979">1.16.1. 什么是应用防火墙</a></span></dt><dt><span class="section"><a href="多维度架构之应用防火墙.html#id984">1.16.2. 功能需求</a></span></dt><dt><span class="section"><a href="多维度架构之应用防火墙.html#id985">1.16.3. 简单实现</a></span></dt></dl></dd><dt><span class="section"><a href="数据库与应用程序间通信.html">1.17. 数据库与应用程序间通信</a></span></dt><dd><dl><dt><span class="section"><a href="数据库与应用程序间通信.html#fifo">1.17.1. 管道通信</a></span></dt><dt><span class="section"><a href="数据库与应用程序间通信.html#messagequeue">1.17.2. 消息队列</a></span></dt><dt><span class="section"><a href="数据库与应用程序间通信.html#images">1.17.3. 数据库与外界文件</a></span></dt><dt><span class="section"><a href="数据库与应用程序间通信.html#socket">1.17.4. Socket 方式</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之消息队列.html">1.18. 多维度架构之消息队列</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之消息队列.html#id1004">1.18.1. 你是怎样使用消息队列的?</a></span></dt><dt><span class="section"><a href="多维度架构之消息队列.html#id1007">1.18.2. 你是否真正理解了消息队列?</a></span></dt><dt><span class="section"><a href="多维度架构之消息队列.html#id1008">1.18.3. 使用的合理吗?</a></span></dt><dt><span class="section"><a href="多维度架构之消息队列.html#id1009">1.18.4. 是否有必要使用消息队列?</a></span></dt><dt><span class="section"><a href="多维度架构之消息队列.html#id1010">1.18.5. 最后总结</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之Socket连接数.html">1.19. 多维度架构之Socket连接数</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之Socket连接数.html#id1011">1.19.1. 理解服务器端与客户端</a></span></dt><dt><span class="section"><a href="多维度架构之Socket连接数.html#id1012">1.19.2. 影响连接的因素有哪些?</a></span></dt><dt><span class="section"><a href="多维度架构之Socket连接数.html#id1013">1.19.3. 程序怎么写?</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构之压力测试.html">1.20. 多维度架构之压力测试</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构之压力测试.html#id1019">1.20.1. 自动化测试如何破局?</a></span></dt><dt><span class="section"><a href="多维度架构之压力测试.html#打破软件自动化测试的格局">1.20.2. 打破软件自动化测试的格局</a></span></dt><dt><span class="section"><a href="多维度架构之压力测试.html#压力测试中存在的问题">1.20.3. 压力测试中存在的问题</a></span></dt><dt><span class="section"><a href="多维度架构之压力测试.html#协议测试">1.20.4. 协议测试</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html">1.21. 多维度架构设计之灰度测试方案</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html#id1028">1.21.1. 什么是灰度测试?</a></span></dt><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html#id1029">1.21.2. 解决方案</a></span></dt><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html#id1033">1.21.3. 工作原理</a></span></dt><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html#id1037">1.21.4. 管理接口</a></span></dt><dt><span class="section"><a href="多维度架构设计之灰度测试方案.html#id1045">1.21.5. 使用 Redis 做持久化</a></span></dt></dl></dd><dt><span class="section"><a href="多维度架构设计之线程池.html">1.22. 多维度架构设计之线程池</a></span></dt><dd><dl><dt><span class="section"><a href="多维度架构设计之线程池.html#id1046">1.22.1. 并行控制(同步阻塞)</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#id1047">1.22.2. 并行控制(异步非阻塞)</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#rest.synchronized">1.22.3. 数据共享</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#id1048">1.22.4. 线程池监控</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#id1049">1.22.5. 线程监控</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#id1050">1.22.6. 线程管理</a></span></dt><dt><span class="section"><a href="多维度架构设计之线程池.html#id1051">1.22.7. 线程管理代码</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="cloud/index.html">I. 云计算</a></span></dt><dd><dl><dt><span class="chapter"><a href="cloud/aliyun/index.html">2. 阿里云</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/index.html#ECS">2.1. ECS</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/index.html#aliyun.RockyLinux">2.1.1. Rocky Linux 镜像</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#aliyun.almalinux">2.1.2. 阿里云 AlmaLinux 9.2 镜像初始化</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#aliyun.centos">2.1.3. CentOS 8.4 初始化</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#id1057">2.1.4. 阿里云 Ubuntu 16.04.7 LTS 镜像 cron.daily 不执行 BUG 排除过程</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#id1058">2.1.5. /etc/fstab 优化</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#ecs.ssd">2.1.6. 云盘扩容</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#python3.dnf">2.1.7. dnf 安装 python3.11</a></span></dt><dt><span class="section"><a href="cloud/aliyun/index.html#ecs.ipv6">2.1.8. IPv6</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/aliyun/RDS.html">2.2. RDS MySQL</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/RDS.html#id1062">2.2.1. RDS MySQL => 本地 MySQL 数据库</a></span></dt><dt><span class="section"><a href="cloud/aliyun/RDS.html#id1063">2.2.2. 换表升级</a></span></dt><dt><span class="section"><a href="cloud/aliyun/RDS.html#id1064">2.2.3. 导出 CSV 文件</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/aliyun/日志服务.html">2.3. 日志服务</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/日志服务.html#id1071">2.3.1. SLB 日志</a></span></dt><dt><span class="section"><a href="cloud/aliyun/日志服务.html#id1072">2.3.2. Kubernetes 日志</a></span></dt><dt><span class="section"><a href="cloud/aliyun/日志服务.html#id1073">2.3.3. Aliyun LOG Java Producer</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/aliyun/瓶颈分析.html">2.4. 压力测试与瓶颈分析方案</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/瓶颈分析.html#压力测试与瓶颈分析方案">2.4.1. 压力测试方案</a></span></dt><dt><span class="section"><a href="cloud/aliyun/瓶颈分析.html#id1078">2.4.2. 瓶颈分析与优化方案</a></span></dt><dt><span class="section"><a href="cloud/aliyun/瓶颈分析.html#commands">2.4.3. 常用瓶颈分析和系统指标监控命令</a></span></dt><dt><span class="section"><a href="cloud/aliyun/瓶颈分析.html#id1086">2.4.4. 性能指标</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/aliyun/bastionhost.html">2.5. 堡垒机</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/bastionhost.html#id1089">2.5.1. 数据库查询需求解决方案</a></span></dt><dt><span class="section"><a href="cloud/aliyun/bastionhost.html#id1090">2.5.2. 解决方案</a></span></dt><dt><span class="section"><a href="cloud/aliyun/bastionhost.html#id1091">2.5.3. 方案实施</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/aliyun/阿里云Kubernetes.html">2.6. 阿里云 Kubernetes</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/aliyun/阿里云Kubernetes.html#id1092">2.6.1. pod 反复异常重启怎么排查</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="cloud/huawei/index.html">3. Huawei Cloud Service</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/huawei/index.html#flexus.server">3.1. Flexus 云服务器</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/huawei/index.html#id1096">3.1.1. AlmaLinux 9 镜像初始化</a></span></dt><dt><span class="section"><a href="cloud/huawei/index.html#id1097">3.1.2. Flexus 服务器 BUG</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/huawei/flexus.rds.html">3.2. Flexus RDS</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/huawei/flexus.rds.html#id1098">3.2.1. 迁移阿里云RDS至华为云RDS</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/huawei/HuaweiCloudEulerOS.html">3.3. Huawei Cloud EulerOS</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/huawei/HuaweiCloudEulerOS.html#id1099">3.3.1. DNS 配置</a></span></dt><dt><span class="section"><a href="cloud/huawei/HuaweiCloudEulerOS.html#id1100">3.3.2. Python 环境</a></span></dt></dl></dd><dt><span class="section"><a href="cloud/huawei/ch03s04.html">3.4. Ubuntu</a></span></dt><dd><dl><dt><span class="section"><a href="cloud/huawei/ch03s04.html#id1101">3.4.1. Nvidia 驱动</a></span></dt><dt><span class="section"><a href="cloud/huawei/ch03s04.html#id1102">3.4.2. Python 环境</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="database/index.html">4. 数据库设计</a></span></dt><dd><dl><dt><span class="section"><a href="database/index.html#数据库设计于使用规范">4.1. 数据库设计于使用规范</a></span></dt><dd><dl><dt><span class="section"><a href="database/index.html#id1106">4.1.1. 建表规范</a></span></dt><dt><span class="section"><a href="database/index.html#id1110">4.1.2. 查询规范</a></span></dt></dl></dd><dt><span class="section"><a href="database/关系型数据库设计.html">4.2. 关系型数据库设计</a></span></dt><dd><dl><dt><span class="section"><a href="database/关系型数据库设计.html#data.dictionary">4.2.1. 数据字典</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#user">4.2.2. 用户帐号表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#category">4.2.3. 分类表设计</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#article">4.2.4. 文章表设计</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#feedback">4.2.5. 评论表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#count">4.2.6. 记录点击率,阅读次数,及评分表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#product">4.2.7. 产品属性表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#product.store">4.2.8. 商品库存表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#i18n">4.2.9. 国际化语言表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#workflow">4.2.10. Workflow</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#version">4.2.11. 内容版本控制</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#logging">4.2.12. logging 日志表的设计</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#uuid">4.2.13. uuid 替代传统序列 id</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#config">4.2.14. 动态配置表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#captcha">4.2.15. 验证码</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#mobile">4.2.16. 手机归属地数据库表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#data.check">4.2.17. 数据检查</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#current_timestamp">4.2.18. 创建与修改时间</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#employees_online">4.2.19. 在线用户表</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#html2text">4.2.20. HTML TO Text</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#sns">4.2.21. SNS 数据库设计</a></span></dt><dt><span class="section"><a href="database/关系型数据库设计.html#mysql.enum">4.2.22. TINYINT(1) 还是 ENUM( 'true' , 'false')</a></span></dt></dl></dd><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html">4.3. 数据库与缓存</a></span></dt><dd><dl><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#what">4.3.1. 什么是数据库缓存?</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#why">4.3.2. 为什么缓存数据呢?</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#when">4.3.3. 什么时候使用数据库缓存</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#where">4.3.4. 涉及缓存的地方有哪些</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#who">4.3.5. 谁来控制数据库缓存</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库缓存.html#how">4.3.6. 怎么控制数据库缓存</a></span></dt></dl></dd><dt><span class="section"><a href="database/多维度架构设计之数据库并行访问控制.html">4.4. 数据库并行访问控制</a></span></dt><dd><dl><dt><span class="section"><a href="database/多维度架构设计之数据库并行访问控制.html#show">4.4.1. 防止并行显示</a></span></dt></dl></dd><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html">4.5. 数据库安全</a></span></dt><dd><dl><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#mysql.struct">4.5.1. 数据库结构版本控制</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#table">4.5.2. 保护表</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#column">4.5.3. 保护表字段</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#time">4.5.4. 时间一致性</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#db.grant">4.5.5. 为数据安全而分库</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#history">4.5.6. 内容版本控制,撰改留痕</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#audit">4.5.7. 数据库审计表</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#role">4.5.8. 用户/角色认证</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#token">4.5.9. Token 认证</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#aes">4.5.10. 数据加密</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#plugin">4.5.11. 开发加密插件开发</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#chain">4.5.12. 数据区块链</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#id1135">4.5.13. 状态保护</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之数据库安全.html#id1136">4.5.14. 数据归档</a></span></dt></dl></dd><dt><span class="section"><a href="database/多维度架构设计之NoSQL.html">4.6. NoSQL OOD(Object-Oriented Design)</a></span></dt><dd><dl><dt><span class="section"><a href="database/多维度架构设计之NoSQL.html#mongodb">4.6.1. MongoDB</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之NoSQL.html#cassandra">4.6.2. Cassandra</a></span></dt></dl></dd><dt><span class="section"><a href="database/ordbms.html">4.7. PostgreSQL 所特有数据库设计</a></span></dt><dd><dl><dt><span class="section"><a href="database/ordbms.html#city">4.7.1. 国家地区表的设计</a></span></dt><dt><span class="section"><a href="database/ordbms.html#discuss">4.7.2. 话题讨论表的设计</a></span></dt><dt><span class="section"><a href="database/ordbms.html#account">4.7.3. 账户表/余额表/消费储蓄表</a></span></dt></dl></dd><dt><span class="section"><a href="database/sharding.html">4.8. Sharding</a></span></dt><dd><dl><dt><span class="section"><a href="database/sharding.html#sharding.horizontal">4.8.1. horizontal</a></span></dt><dt><span class="section"><a href="database/sharding.html#sharding.vertical">4.8.2. vertical</a></span></dt><dt><span class="section"><a href="database/sharding.html#sharding.news">4.8.3. 新闻数据库分表案例</a></span></dt></dl></dd><dt><span class="section"><a href="database/db.bigdata.html">4.9. MySQL 大数据操作注意事项</a></span></dt><dd><dl><dt><span class="section"><a href="database/db.bigdata.html#id1147">4.9.1. 关于 delete</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1148">4.9.2. 关于 update</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1149">4.9.3. 关于创建索引</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1150">4.9.4. 关于 OPTIMIZE</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1151">4.9.5. 关于切换引擎</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1152">4.9.6. 确保SELECT不被受阻</a></span></dt><dt><span class="section"><a href="database/db.bigdata.html#id1153">4.9.7. 记录操作者</a></span></dt></dl></dd><dt><span class="section"><a href="database/多维度架构设计之SpringData.html">4.10. Spring Data 最佳实践</a></span></dt><dd><dl><dt><span class="section"><a href="database/多维度架构设计之SpringData.html#spring.data.mysql">4.10.1. MySQL</a></span></dt><dt><span class="section"><a href="database/多维度架构设计之SpringData.html#spring.data.mongo">4.10.2. MongoDB</a></span></dt></dl></dd><dt><span class="section"><a href="database/db.exmaple.html">4.11. 参考例子</a></span></dt><dd><dl><dt><span class="section"><a href="database/db.exmaple.html#id1157">4.11.1. 去三条数据,分别是当前,前面一条,后面一条</a></span></dt><dt><span class="section"><a href="database/db.exmaple.html#id1158">4.11.2. CMS 数据库设计</a></span></dt><dt><span class="section"><a href="database/db.exmaple.html#wechat">4.11.3. 微信公众平台 </a></span></dt><dt><span class="section"><a href="database/db.exmaple.html#shop">4.11.4. 电子商务网站</a></span></dt><dt><span class="section"><a href="database/db.exmaple.html#id1168">4.11.5. 数据属性例子</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="system/index.html">II. 运维篇</a></span></dt><dd><dl><dt><span class="chapter"><a href="system/idc/index.html">5. IDC</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/index.html#id1169">5.1. 网络设备配置管理与版本控制</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/index.html#background">5.1.1. 背景</a></span></dt><dt><span class="section"><a href="system/idc/index.html#overview">5.1.2. 怎样实现网络设备配置管理</a></span></dt><dt><span class="section"><a href="system/idc/index.html#summary">5.1.3. 总结</a></span></dt></dl></dd><dt><span class="section"><a href="system/idc/move.html">5.2. 机房迁移</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/move.html#topology">5.2.1. 拓扑确立</a></span></dt><dt><span class="section"><a href="system/idc/move.html#storage">5.2.2. 存储规划</a></span></dt><dt><span class="section"><a href="system/idc/move.html#device">5.2.3. 设备上架</a></span></dt><dt><span class="section"><a href="system/idc/move.html#os">5.2.4. 操作系统初始化</a></span></dt><dt><span class="section"><a href="system/idc/move.html#application">5.2.5. 服务器及运行环境</a></span></dt><dt><span class="section"><a href="system/idc/move.html#deployment">5.2.6. 部署应用程序</a></span></dt><dt><span class="section"><a href="system/idc/move.html#monitor">5.2.7. 监控系统</a></span></dt><dt><span class="section"><a href="system/idc/move.html#log">5.2.8. 日志中心</a></span></dt><dt><span class="section"><a href="system/idc/move.html#test">5.2.9. 测试</a></span></dt></dl></dd><dt><span class="section"><a href="system/idc/cable.html">5.3. 网线怎样连接才合理</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/cable.html#id1173">5.3.1. 单个硬件防火墙方案</a></span></dt><dt><span class="section"><a href="system/idc/cable.html#id1174">5.3.2. 双防火墙方案</a></span></dt><dt><span class="section"><a href="system/idc/cable.html#server.nic">5.3.3. 网卡</a></span></dt></dl></dd><dt><span class="section"><a href="system/idc/idc.logging.html">5.4. 记录思科路由器/防火墙/交换机日志</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/idc.logging.html#id1181">5.4.1. 开启日志</a></span></dt><dt><span class="section"><a href="system/idc/idc.logging.html#id1182">5.4.2. syslogd 服务器脚本</a></span></dt></dl></dd><dt><span class="section"><a href="system/idc/traffic.html">5.5. 影响网络流量的因素</a></span></dt><dd><dl><dt><span class="section"><a href="system/idc/traffic.html#traffic.bandwidth">5.5.1. 带宽</a></span></dt><dt><span class="section"><a href="system/idc/traffic.html#traffic.session">5.5.2. 会话数</a></span></dt><dt><span class="section"><a href="system/idc/traffic.html#traffic.io">5.5.3. IO</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="system/server/index.html">6. Server</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/index.html#os">6.1. Linux 系统安全与优化配置</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/index.html#id1205">6.1.1. Openssh 安全配置</a></span></dt><dt><span class="section"><a href="system/server/index.html#id1210">6.1.2. Shell 安全</a></span></dt><dt><span class="section"><a href="system/server/index.html#id1215">6.1.3. 防火墙</a></span></dt><dt><span class="section"><a href="system/server/index.html#id1218">6.1.4. Linux 系统资源调配</a></span></dt><dt><span class="section"><a href="system/server/index.html#id1219">6.1.5. PAM 插件认证加固配置</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/performance.php.html">6.2. PHP 安全与性能优化</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/performance.php.html#mod_php">6.2.1. Apache mod_php</a></span></dt><dt><span class="section"><a href="system/server/performance.php.html#php.ini">6.2.2. php.ini</a></span></dt><dt><span class="section"><a href="system/server/performance.php.html#php-fpm">6.2.3. php-fpm</a></span></dt><dt><span class="section"><a href="system/server/performance.php.html#directory">6.2.4. 开发于安全</a></span></dt><dt><span class="section"><a href="system/server/performance.php.html#timeout">6.2.5. 执行效率</a></span></dt><dt><span class="section"><a href="system/server/performance.php.html#id1242">6.2.6. 服务器版本信息</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/tomcat.html">6.3. Tomcat 安全配置与性能优化</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/tomcat.html#jvm">6.3.1. JVM</a></span></dt><dt><span class="section"><a href="system/server/tomcat.html#tomcat">6.3.2. Tomcat 优化</a></span></dt><dt><span class="section"><a href="system/server/tomcat.html#id1251">6.3.3. Tomcat 安全配置</a></span></dt><dt><span class="section"><a href="system/server/tomcat.html#id1252">6.3.4. 如何部署应用程序</a></span></dt><dt><span class="section"><a href="system/server/tomcat.html#id1253">6.3.5. 延伸阅读</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html">6.4. Spring cloud 安全部署与性能优化</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#env">6.4.1. 环境安装</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#os">6.4.2. 操作系统配置与优化</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#jvm">6.4.3. Java 虚拟机</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#springboot">6.4.4. 配置 Spring boot</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#springcloud">6.4.5. Spring Cloud 配置</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#nginx">6.4.6. 配置 Nginx</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#directory">6.4.7. 部署应用程序</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#ci">6.4.8. 持续集成</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#id1335">6.4.9. 监控</a></span></dt><dt><span class="section"><a href="system/server/Springcloud安全部署与性能优化.html#id1336">6.4.10. 容器部署</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/oscm.html">6.5. 环境安装模板化</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/oscm.html#id1337">6.5.1. 云主机初始化</a></span></dt><dt><span class="section"><a href="system/server/oscm.html#id1338">6.5.2. CentOS 7 初始化</a></span></dt><dt><span class="section"><a href="system/server/oscm.html#nginx">6.5.3. Nginx</a></span></dt><dt><span class="section"><a href="system/server/oscm.html#tomcat">6.5.4. Tomcat</a></span></dt><dt><span class="section"><a href="system/server/oscm.html#node.js">6.5.5. Node.js</a></span></dt><dt><span class="section"><a href="system/server/oscm.html#id1339">6.5.6. MongoDB</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/ntp.html">6.6. 时间同步</a></span></dt><dt><span class="section"><a href="system/server/email.html">6.7. 邮件系统</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/email.html#id1340">6.7.1. Mailing List</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/server.partition.html">6.8. 磁盘规划</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/server.partition.html#id1341">6.8.1. 物理隔离</a></span></dt><dt><span class="section"><a href="system/server/server.partition.html#id1342">6.8.2. 硬件逻辑卷隔离</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/storage.html">6.9. Distributed File System(簇文件系统)</a></span></dt><dd><dl><dt><span class="section"><a href="system/server/storage.html#server.hba">6.9.1. FC 光纤存储</a></span></dt><dt><span class="section"><a href="system/server/storage.html#storage.nfs">6.9.2. 聚合文件系统</a></span></dt><dt><span class="section"><a href="system/server/storage.html#storage.gfs">6.9.3. 全局文件系统</a></span></dt><dt><span class="section"><a href="system/server/storage.html#storage.cluster">6.9.4. 负载均衡文件系统</a></span></dt><dt><span class="section"><a href="system/server/storage.html#storage.nbd">6.9.5. 网络块设备</a></span></dt><dt><span class="section"><a href="system/server/storage.html#storage">6.9.6. Storage 存储</a></span></dt><dt><span class="section"><a href="system/server/storage.html#snapshot">6.9.7. 磁盘快照</a></span></dt></dl></dd><dt><span class="section"><a href="system/server/server.mgmt.html">6.10. iDRAC / iLO / IMM</a></span></dt></dl></dd><dt><span class="chapter"><a href="system/backup.html">7. Backup</a></span></dt><dd><dl><dt><span class="section"><a href="system/backup.html#Backup.help">7.1. help</a></span></dt><dd><dl><dt><span class="section"><a href="system/backup.html#id1364">7.1.1. Task</a></span></dt><dt><span class="section"><a href="system/backup.html#id1365">7.1.2. Schedule</a></span></dt><dt><span class="section"><a href="system/backup.html#id1366">7.1.3. Crontab</a></span></dt></dl></dd><dt><span class="section"><a href="system/backup.conf.html">7.2. 配置文件备份</a></span></dt><dd><dl><dt><span class="section"><a href="system/backup.conf.html#id1367">7.2.1. Firewall and Switch</a></span></dt><dt><span class="section"><a href="system/backup.conf.html#id1368">7.2.2. Server</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="system/firewall.html">8. DIY Firewall & VPN</a></span></dt><dd><dl><dt><span class="section"><a href="system/firewall.html#firewall">8.1. Firewall</a></span></dt><dt><span class="section"><a href="system/3lvpn.html">8.2. 3 Layer VPN</a></span></dt><dt><span class="section"><a href="system/7lvpn.html">8.3. 7 Layer VPN</a></span></dt><dt><span class="section"><a href="system/ch08s04.html">8.4. 替代 CentOS 7/8 中的 firewalld</a></span></dt><dd><dl><dt><span class="section"><a href="system/ch08s04.html#id1369">8.4.1. Demo</a></span></dt><dt><span class="section"><a href="system/ch08s04.html#id1370">8.4.2. Firewall Script</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="software/index.html">III. Software architecture (软件架构)</a></span></dt><dd><dl><dt><span class="chapter"><a href="software/frontend.html">9. 前端架构</a></span></dt><dd><dl><dt><span class="section"><a href="software/frontend.html#framework.js">9.1. Javascript Framework</a></span></dt></dl></dd><dt><span class="chapter"><a href="software/project.html">10. Project</a></span></dt><dd><dl><dt><span class="section"><a href="software/project.html#opensource">10.1. 开源模式</a></span></dt><dt><span class="section"><a href="software/language.html">10.2. 开发语言及平台</a></span></dt><dd><dl><dt><span class="section"><a href="software/language.html#middleware">10.2.1. 分层架构</a></span></dt><dt><span class="section"><a href="software/language.html#web2.0">10.2.2. Web 2.0</a></span></dt><dt><span class="section"><a href="software/language.html#cloud">10.2.3. 云计算</a></span></dt><dt><span class="section"><a href="software/language.html#cross.platform">10.2.4. 跨平台</a></span></dt><dt><span class="section"><a href="software/language.html#script">10.2.5. 编译语言比脚本语言安全</a></span></dt><dt><span class="section"><a href="software/language.html#encapsulation">10.2.6. 封装重用</a></span></dt><dt><span class="section"><a href="software/language.html#utility">10.2.7. 相关的工具</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="software/framework.html">11. Framework Design</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.html#id1375">11.1. Architecture Overview</a></span></dt><dt><span class="section"><a href="software/ch11s02.html">11.2. CDN (Content Delivery Network)</a></span></dt><dt><span class="section"><a href="software/ch11s03.html">11.3. 微服务</a></span></dt><dt><span class="section"><a href="software/framework.choice.html">11.4. 开发框架 Framework</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.choice.html#id1376">11.4.1. HMVC</a></span></dt><dt><span class="section"><a href="software/framework.choice.html#id1377">11.4.2. REST</a></span></dt><dt><span class="section"><a href="software/framework.choice.html#id1378">11.4.3. SNA (Shared Nothing Architecture)</a></span></dt><dt><span class="section"><a href="software/framework.choice.html#id1379">11.4.4. 其他</a></span></dt></dl></dd><dt><span class="section"><a href="software/mvc.html">11.5. MVC Framework Design (设计MVC框架)</a></span></dt><dd><dl><dt><span class="section"><a href="software/mvc.html#hmvc">11.5.1. HMVC Framework</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.rest.html">11.6. REST</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.rest.html#id1380">11.6.1. RESTful JSON API</a></span></dt><dt><span class="section"><a href="software/framework.rest.html#id1381">11.6.2. Ajax 与 RESTful 跨域</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.soa.html">11.7. Service-oriented architecture (SOA)</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.soa.html#id1382">11.7.1. SOAP实现</a></span></dt><dt><span class="section"><a href="software/framework.soa.html#id1383">11.7.2. MQ 实现</a></span></dt></dl></dd><dt><span class="section"><a href="software/dispatcher.html">11.8. Dispatcher MVC核心分发器</a></span></dt><dd><dl><dt><span class="section"><a href="software/dispatcher.html#framework.url">11.8.1. URL设计</a></span></dt><dt><span class="section"><a href="software/dispatcher.html#action">11.8.2. Dispatcher 的实现方式</a></span></dt></dl></dd><dt><span class="section"><a href="software/plugin.html">11.9. Plugin & Hook 设计与实现</a></span></dt><dd><dl><dt><span class="section"><a href="software/plugin.html#id1386">11.9.1. 插件管理平台</a></span></dt><dt><span class="section"><a href="software/plugin.html#id1387">11.9.2. 接口定义</a></span></dt><dt><span class="section"><a href="software/plugin.html#id1388">11.9.3. 插件</a></span></dt><dt><span class="section"><a href="software/plugin.html#id1389">11.9.4. 测试</a></span></dt></dl></dd><dt><span class="section"><a href="software/interface.html">11.10. Interface</a></span></dt><dd><dl><dt><span class="section"><a href="software/interface.html#interface.protocol">11.10.1. 访问接口协议</a></span></dt><dt><span class="section"><a href="software/interface.html#interface.session">11.10.2. 接口性能问题</a></span></dt><dt><span class="section"><a href="software/interface.html#interface.security">11.10.3. 接口安全问题</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.template.html">11.11. 模板(template)</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.template.html#id1391">11.11.1. HTML 页面优化</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.session.html">11.12. Session/Cookie</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.session.html#id1392">11.12.1. Session</a></span></dt><dt><span class="section"><a href="software/framework.session.html#session">11.12.2. Session 共享</a></span></dt><dt><span class="section"><a href="software/framework.session.html#id1396">11.12.3. Cookie</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.i18n.html">11.13. 国际化 Locale database。</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.i18n.html#unicode">11.13.1. Unicode</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.database.html">11.14. 数据库访问</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.database.html#id1397">11.14.1. CRUD</a></span></dt><dt><span class="section"><a href="software/framework.database.html#id1398">11.14.2. Active Record</a></span></dt><dt><span class="section"><a href="software/framework.database.html#id1399">11.14.3. OR Mapping</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.cache.html">11.15. Cache</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.cache.html#id1400">11.15.1. 页面缓存</a></span></dt><dt><span class="section"><a href="software/framework.cache.html#id1401">11.15.2. 局部缓存</a></span></dt></dl></dd><dt><span class="section"><a href="software/framework.sso.html">11.16. Single sign-on (SSO) 单点登录</a></span></dt><dt><span class="section"><a href="software/framework.search.html">11.17. 搜索引擎</a></span></dt><dt><span class="section"><a href="software/sync.html">11.18. Synchronous/Asynchronous</a></span></dt><dt><span class="section"><a href="software/mq.html">11.19. Message Queuing</a></span></dt><dt><span class="section"><a href="software/framework.hash.html">11.20. Hash</a></span></dt><dt><span class="section"><a href="software/framework.sharding.html">11.21. Sharding 垂直/水平切割</a></span></dt><dd><dl><dt><span class="section"><a href="software/framework.sharding.html#id1402">11.21.1. 面向服务</a></span></dt><dt><span class="section"><a href="software/framework.sharding.html#id1403">11.21.2. 面向数据库</a></span></dt></dl></dd><dt><span class="section"><a href="software/app.logs.html">11.22. 日志系统</a></span></dt><dt><span class="section"><a href="software/cache.html">11.23. Cache</a></span></dt><dd><dl><dt><span class="section"><a href="software/cache.html#id1404">11.23.1. CDN/逆向代理缓存</a></span></dt><dt><span class="section"><a href="software/cache.html#id1405">11.23.2. Cache 生存时间</a></span></dt></dl></dd><dt><span class="section"><a href="software/i18n.html">11.24. i18n 国际化</a></span></dt><dd><dl><dt><span class="section"><a href="software/i18n.html#id1406">11.24.1. 数组方式</a></span></dt><dt><span class="section"><a href="software/i18n.html#id1407">11.24.2. 数据库方式</a></span></dt><dt><span class="section"><a href="software/i18n.html#id1408">11.24.3. 文件文件</a></span></dt><dt><span class="section"><a href="software/i18n.html#id1409">11.24.4. Gettext</a></span></dt><dt><span class="section"><a href="software/i18n.html#id1410">11.24.5. 数据结构</a></span></dt></dl></dd><dt><span class="section"><a href="software/rss.html">11.25. RSS / ATom</a></span></dt><dd><dl><dt><span class="section"><a href="software/rss.html#id1411">11.25.1. Atom</a></span></dt></dl></dd><dt><span class="section"><a href="software/log.html">11.26. Logging 日志</a></span></dt><dd><dl><dt><span class="section"><a href="software/log.html#id1412">11.26.1. 日志</a></span></dt><dt><span class="section"><a href="software/log.html#id1413">11.26.2. 日志的格式</a></span></dt><dt><span class="section"><a href="software/log.html#id1416">11.26.3. 日志存贮</a></span></dt><dt><span class="section"><a href="software/log.html#log4">11.26.4. Log4cpp/Log4j/Log2PHP</a></span></dt><dt><span class="section"><a href="software/log.html#id1417">11.26.5. Remote Syslog</a></span></dt></dl></dd><dt><span class="section"><a href="software/debug.html">11.27. debug</a></span></dt><dt><span class="section"><a href="software/optimization.html">11.28. 性能优化</a></span></dt><dd><dl><dt><span class="section"><a href="software/optimization.html#id1418">11.28.1. 尽量使用单引号</a></span></dt></dl></dd><dt><span class="section"><a href="software/ch11s29.html">11.29. 监控</a></span></dt><dt><span class="section"><a href="software/pattern.html">11.30. Design pattern (设计模式)</a></span></dt><dd><dl><dt><span class="section"><a href="software/pattern.html#singleton">11.30.1. Singleton 单件模式</a></span></dt></dl></dd><dt><span class="section"><a href="software/aop.html">11.31. AOP(Aspect Oriented Programming)</a></span></dt><dt><span class="section"><a href="software/defect.html">11.32. 信息安全</a></span></dt><dd><dl><dt><span class="section"><a href="software/defect.html#defect.csrf">11.32.1. CSRF(Cross-site request forgery)跨站请求伪造</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.session">11.32.2. Session 撰改演示</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.login">11.32.3. 用户注册与登录安全</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.dir">11.32.4. 目录文件与权限</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.password">11.32.5. 密码安全</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.sql">11.32.6. 注入检查</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.loop">11.32.7. 防止恶意刷新与重复提交</a></span></dt><dt><span class="section"><a href="software/defect.html#defect.error">11.32.8. 屏蔽出错信息</a></span></dt></dl></dd><dt><span class="section"><a href="software/serialization.html">11.33. 序列化</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="appendix.html">1. 附录</a></span></dt><dt><span class="glossary"><a href="glossary.html">术语表</a></span></dt></dl></div><div class="list-of-figures"><p><strong>插图清单</strong></p><dl><dt>1.1. <a href="分布式计划任务.html#id1421">分时方案</a></dt><dt>1.2. <a href="分布式计划任务.html#id1422">HA 高可用方案</a></dt><dt>1.3. <a href="分布式计划任务.html#id1423">多路心跳方案</a></dt><dt>1.4. <a href="分布式计划任务.html#id1424">任务抢占方案</a></dt><dt>1.5. <a href="分布式计划任务.html#id1425">任务轮循或任务轮循+抢占排队方案</a></dt><dt>1.6. <a href="多维度架构之远程异地灾备.html#id1426">单机房高可用双活互备解决方案</a></dt><dt>1.7. <a href="多维度架构之远程异地灾备.html#id1427">双机房异地灾备方案</a></dt><dt>1.8. <a href="多维度架构之远程异地灾备.html#id1428">三机房互备异地灾备方案</a></dt><dt>1.9. <a href="多维度架构之远程异地灾备.html#id1429">动态页面方案</a></dt><dt>1.10. <a href="多维度架构之远程异地灾备.html#id1430">数据源灾备解决方案</a></dt><dt>1.11. <a href="多维度架构之远程异地灾备.html#id1431">数据库灾备解决方案</a></dt><dt>1.12. <a href="多维度架构之远程异地灾备.html#id1432">双向通知解决方案</a></dt><dt>1.13. <a href="多维度架构之远程异地灾备.html#id1433">消息对列解决方案</a></dt><dt>1.14. <a href="多维度架构之远程异地灾备.html#id1434">CVS开发框架</a></dt><dt>1.15. <a href="多维度架构之远程异地灾备.html#id1435">传统的分表方案</a></dt><dt>1.16. <a href="多维度架构之远程异地灾备.html#id1436">推荐的分表方案</a></dt><dt>1.17. <a href="多维度架构之远程异地灾备.html#id1437">基于功能分表方案</a></dt></dl></div><div class="list-of-tables"><p><strong>表格清单</strong></p><dl><dt>4.1. <a href="database/多维度架构设计之数据库并行访问控制.html#id1438">工作流模拟</a></dt></dl></div><div class="list-of-examples"><p><strong>范例清单</strong></p><dl><dt>1.1. <a href="h5.html#id1439">example robots.txt</a></dt><dt>1.2. <a href="数据库与应用程序间通信.html#id1440">发送短信</a></dt><dt>1.3. <a href="数据库与应用程序间通信.html#id1441">处理图片</a></dt><dt>1.4. <a href="数据库与应用程序间通信.html#id1442">身份证号码校验</a></dt><dt>1.5. <a href="数据库与应用程序间通信.html#id1443">静态化案例</a></dt><dt>1.6. <a href="数据库与应用程序间通信.html#id1444">数据同步案例</a></dt><dt>2.1. <a href="cloud/aliyun/index.html#id1445">开启交换分区</a></dt><dt>2.2. <a href="cloud/aliyun/瓶颈分析.html#id1446">nmon</a></dt><dt>4.1. <a href="database/关系型数据库设计.html#id1447">identity_card 身份证归属地表</a></dt><dt>4.2. <a href="database/多维度架构设计之数据库缓存.html#id1448">演示 SQL_CACHE</a></dt><dt>4.3. <a href="database/多维度架构设计之数据库缓存.html#id1449">演示 SQL_NO_CACHE</a></dt><dt>4.4. <a href="database/多维度架构设计之数据库缓存.html#id1450">演示 query_cache_type=off 关闭查询缓存</a></dt><dt>4.5. <a href="database/ordbms.html#id1451">递归查询实例 city 表</a></dt><dt>4.6. <a href="database/ordbms.html#id1452">话题讨论表的设计</a></dt><dt>6.1. <a href="system/server/index.html#id1453">/etc/pam.d/sshd - pam_tally2.so</a></dt><dt>6.2. <a href="system/server/index.html#id1454">/etc/pam.d/sshd - pam_listfile.so</a></dt><dt>6.3. <a href="system/server/Springcloud安全部署与性能优化.html#id1455">/etc/pam.d/sshd - pam_tally2.so</a></dt><dt>6.4. <a href="system/server/Springcloud安全部署与性能优化.html#id1456">/etc/pam.d/sshd - pam_listfile.so</a></dt><dt>7.1. <a href="system/backup.html#id1457">Backup program</a></dt><dt>11.1. <a href="software/i18n.html#id1458">php language package</a></dt><dt>11.2. <a href="software/i18n.html#id1459">sql table language package</a></dt><dt>11.3. <a href="software/defect.html#id1460">Example for ECSHOP </a></dt></dl></div>
<div class="revhistory"><table style="border-style:solid; width:100%;" summary="修订历史"><tr><th align="left" valign="top" colspan="3"><strong>修订历史</strong></th></tr>
<tr><td align="left">修订 1.0.0</td><td align="left">Jun 29, 2020</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">计划改变,启动写作计划</td></tr>
<tr><td align="left">修订 0.1.1</td><td align="left">Sep 12, 2011</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">章节做了大调整,将文档分为五块,多维度架构,开发,运维,SQA,还有DevOps。</td></tr>
<tr><td align="left">修订 0.1.0</td><td align="left">May 15, 2010</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">增加解决方案一节,并填充了大量章节。同时对完成这篇文档信心大增</td></tr>
<tr><td align="left">修订 0.0.4</td><td align="left">2010</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">这篇文档几乎没有时间和精力编辑,内容增加不多。</td></tr>
<tr><td align="left">修订 0.0.4</td><td align="left">April 15, 2009</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">这篇文档几乎搁浅,没有时间和精力,没有编辑加入。今天做了一下布局调整,增加一些内容。</td></tr>
<tr><td align="left">修订 0.0.3</td><td align="left">Sep. 17, 2008</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">加入关于存储的内容</td></tr>
<tr><td align="left">修订 0.0.1</td><td align="left">May 24, 2008</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">李振韬加入编译团队</td></tr>
<tr><td align="left">修订 0.0.0</td><td align="left">May 22, 2008</td><td align="left">Neo</td></tr><tr><td align="left" colspan="3">这是一个值得纪念的日子</td></tr>
</table></div>
</div><script xmlns="" type="text/javascript" id="clustrmaps" src="//cdn.clustrmaps.com/map_v2.js?u=r5HG&d=9mi5r_kkDC8uxG8HuY3p4-2qgeeVypAK9vMD-2P6BYM"></script><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="preface.html">下一页</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> 自述</td></tr></table></div><script xmlns="">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11694057-1', 'auto');
ga('send', 'pageview');
</script><script xmlns="" async="async">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?93967759a51cda79e49bf4e34d0b0f2c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script xmlns="" async="async">
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script></body></html>