diff --git a/README-zh-Hant.md b/README-zh-Hant.md index fb6d3d04..16970788 100755 --- a/README-zh-Hant.md +++ b/README-zh-Hant.md @@ -50,7 +50,7 @@ * [如何处理一个系统设计的面试题](#如何处理一个系统设计的面试题) * [系统设计的面试题,**含解答**](#系统设计的面试题和解答) * [面向对象设计的面试题,**含解答**](#面向对象设计的面试问题及解答) -* [其它系统设计的面试题](#其它系统设计的面试题) +* [其它的系统设计面试题](#其它的系统设计面试题) ## 抽认卡 @@ -106,16 +106,16 @@

-* [系统设计主题:从这里开始](#系统设计主题:从这里开始) - * [第一步:回顾可扩展性的视频讲座](#第一步:回顾可扩展性(scalability)的视频讲座) - * [第二步: 回顾可扩展性的文章](#第二步:回顾可扩展性文章) +* [系统设计主题:从这里开始](#系统设计主题从这里开始) + * [第一步:回顾可扩展性的视频讲座](#第一步回顾可扩展性scalability的视频讲座) + * [第二步: 回顾可扩展性的文章](#第二步回顾可扩展性文章) * [接下来的步骤](#接下来的步骤) * [性能与拓展性](#性能与可扩展性) * [延迟与吞吐量](#延迟与吞吐量) * [可用性与一致性](#可用性与一致性) * [CAP 理论](#cap-理论) - * [CP - 一致性和分区容错性](#cp--一致性和分区容错性) - * [AP - 可用性和分区容错性](#ap--可用性与分区容错性) + * [CP - 一致性和分区容错性](#cp-一致性和分区容错性) + * [AP - 可用性和分区容错性](#ap-可用性与分区容错性) * [一致模式](#一致性模式) * [弱一致性](#弱一致性) * [最终一致性](#最终一致性) @@ -124,38 +124,38 @@ * [故障切换](#故障切换) * [复制](#复制) * [域名系统](#域名系统) -* [CDN](#内容分发网络) - * [CDN 推送](#CDN-推送(push)) - * [CDN 拉取](#CDN-拉取(pull)) +* [CDN](#内容分发网络cdn) + * [CDN 推送](#cdn-推送push) + * [CDN 拉取](#cdn-拉取pull) * [负载均衡器](#负载均衡器) - * [工作到备用切换(active-passive)](#工作到备用切换(Active-passive)) - * [双工作切换(active-active)](#双工作切换(Active-active)) + * [工作到备用切换(Active-passive)](#工作到备用切换active-passive) + * [双工作切换(Active-active)](#双工作切换active-active) * [四层负载均衡](#四层负载均衡) * [七层负载均衡](#七层负载均衡器) * [水平扩展](#水平扩展) -* [反向代理(web 服务)](#反向代理(web-服务器)) +* [反向代理(web 服务器)](#反向代理web-服务器) * [负载均衡与反向代理](#负载均衡器与反向代理) * [应用层](#应用层) * [微服务](#微服务) * [服务发现](#服务发现) * [数据库](#数据库) - * [关系型数据库管理系统 (RDBMS)](#关系型数据库管理系统(RDBMS)) + * [关系型数据库管理系统(RDBMS)](#关系型数据库管理系统rdbms) * [Master-slave 复制集](#主从复制) * [Master-master 复制集](#主主复制) * [联合](#联合) * [分片](#分片) - * [反规则化](#非规范化) - * [SQL 调优](#SQL-调优) - * [NoSQL](#NoSQL) + * [反规则化](#反规则化) + * [SQL 调优](#sql-调优) + * [NoSQL](#nosql) * [Key-value 存储](#键-值存储) * [文档存储](#文档类型存储) * [宽列存储](#列型存储) * [图数据库](#图数据库) - * [SQL 还是 NoSQL](#SQL-还是-NoSQL) + * [SQL 还是 NoSQL](#sql-还是-nosql) * [缓存](#缓存) * [客户端缓存](#客户端缓存) - * [CDN 缓存](#CDN-缓存) - * [Web 服务器缓存](#Web-服务器缓存) + * [CDN 缓存](#cdn-缓存) + * [Web 服务器缓存](#web-服务器缓存) * [数据库缓存](#数据库缓存) * [应用缓存](#应用缓存) * [数据库查询级别的缓存](#数据库查询级别的缓存) @@ -170,19 +170,19 @@ * [任务队列](#任务队列) * [背压机制](#背压) * [通讯](#通讯) - * [传输控制协议 (TCP)](#传输控制协议(TCP)) - * [用户数据报协议 (UDP)](#用户数据报协议(UDP)) - * [远程控制调用 (RPC)](#远程过程调用协议(RPC)) - * [表述性状态转移 (REST)](#表述性状态转移(REST)) + * [传输控制协议(TCP)](#传输控制协议tcp) + * [用户数据报协议(UDP)](#用户数据报协议udp) + * [远程控制调用(RPC)](#远程控制调用rpc) + * [表述性状态转移(REST)](#表述性状态转移rest) * [网络安全](#安全) * [附录](#附录) * [2 的次方表](#2-的次方表) * [每个程序员都应该知道的延迟数](#每个程序员都应该知道的延迟数) - * [其它系统设计面试题](#其它系统设计面试题) + * [其它的系统设计面试题](#其它的系统设计面试题) * [真实架构](#真实架构) * [公司的系统架构](#公司的系统架构) * [公司工程博客](#公司工程博客) -* [开发中](#正在开发中) +* [开发中](#正在完善中) * [致谢](#致谢) * [联系方式](#联系方式) * [许可](#许可) @@ -217,18 +217,17 @@ | ---------------------------------------- | ---- | ---- | ---- | | 阅读 [系统设计主题](#系统设计主题的索引) 以获得一个关于系统如何工作的宽泛的认识 | :+1: | :+1: | :+1: | | 阅读一些你要面试的[公司工程博客](#公司工程博客)的文章 | :+1: | :+1: | :+1: | -| 阅读 [真实世界的架构](#真实架构) | :+1: | :+1: | :+1: | +| 阅读 [真实架构](#真实架构) | :+1: | :+1: | :+1: | | 复习 [如何处理一个系统设计面试题](#如何处理一个系统设计面试题) | :+1: | :+1: | :+1: | -| 完成 [系统设计面试题和解答](#系统设计面试题和解答) | 一些 | 很多 | 大部分 | -| 完成 [面向对象设计面试题和解答](#面向对象设计面试问题及解答) | 一些 | 很多 | 大部分 | -| 复习 [其它系统设计面试题](#其它系统设计面试题) | 一些 | 很多 | 大部分 | -## 如何处理一个系统设计面试题 +| 完成 [系统设计的面试题和解答](#系统设计的面试题和解答) | 一些 | 很多 | 大部分 | +| 完成 [面向对象设计的面试题和解答](#面向对象设计的面试问题及解答) | 一些 | 很多 | 大部分 | +| 复习 [其它的系统设计面试题](#其它的系统设计面试题) | 一些 | 很多 | 大部分 | -> 如何处理一个系统设计的面试题。 +## 如何处理一个系统设计的面试题 系统设计面试是一个**开放式的对话**。他们期望你去主导这个对话。 -你可以使用下面的步骤来指引讨论。为了巩固这个过程,请使用下面的步骤完成[系统设计面试题和解答](#系统设计面试题和解答)这个章节。 +你可以使用下面的步骤来指引讨论。为了巩固这个过程,请使用下面的步骤完成[系统设计的面试题和解答](#系统设计的面试题和解答)这个章节。 ### 第一步:描述使用场景,约束和假设 @@ -290,7 +289,7 @@ * [系统设计的面试](http://www.hiredintech.com/system-design) * [系统架构与设计的面试简介](https://www.youtube.com/watch?v=ZgdS0EUmn70) -## 系统设计面试题和解答 +## 系统设计的面试题和解答 > 普通的系统设计面试题和相关事例的论述,代码和图表。 > @@ -357,7 +356,7 @@ ![Imgur](http://i.imgur.com/jj3A5N8.png) -## 面向对象设计面试问题及解答 +## 面向对象设计的面试问题及解答 > 常见面向对象设计面试问题及实例讨论,代码和图表演示。 > @@ -585,7 +584,7 @@ DNS 和 email 等系统使用的是此种方式。最终一致性在高可用性 来源:为什么使用 CDN

-内容分发网络是一个全球性的代理服务器分布式网络,它从靠近用户的位置提供内容。通常,HTML/CSS/JS,图片和视频等静态内容由 CDN 提供,虽然亚马逊 CloudFront 等也支持动态内容。CDN 的 DNS 解析会告知客户端连接哪台服务器。 +内容分发网络(CDN)是一个全球性的代理服务器分布式网络,它从靠近用户的位置提供内容。通常,HTML/CSS/JS,图片和视频等静态内容由 CDN 提供,虽然亚马逊 CloudFront 等也支持动态内容。CDN 的 DNS 解析会告知客户端连接哪台服务器。 将内容存储在 CDN 上可以从两个方面来提供性能: @@ -594,7 +593,7 @@ DNS 和 email 等系统使用的是此种方式。最终一致性在高可用性 ### CDN 推送(push) -当你服务器上内容发生变动时,推送 CDN 接受新内容。直接推送给 CDN 并重写 URL 地址以指向你的内容的 CDN 地址。你可以配置内容到期时间及何时更新。内容只有在更改或新增是才推送,最小化流量,但最大化存储空间。 +当你服务器上内容发生变动时,推送 CDN 接受新内容。直接推送给 CDN 并重写 URL 地址以指向你的内容的 CDN 地址。你可以配置内容到期时间及何时更新。内容只有在更改或新增是才推送,流量最小化,但储存最大化。 ### CDN 拉取(pull) @@ -1612,7 +1611,7 @@ Notes * [关于建设大型分布式系统的的设计方案、课程和建议](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf) * [关于建设大型可拓展分布式系统的软件工程咨询](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf) -### 其它系统设计面试题 +### 其它的系统设计面试题 > 常见的系统设计面试问题,给出了如何解决的方案链接