1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-08-01 16:28:03 +08:00

Update 【面试精选】关于大型网站系统架构你不得不懂的10个问题.md

This commit is contained in:
SnailClimb 2019-02-18 23:12:24 +08:00 committed by GitHub
parent adec5d1962
commit 06da889e7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,18 +2,18 @@
<!-- MarkdownTOC --> <!-- MarkdownTOC -->
- [1. 你使用过哪些组件或者方法来提升网站性能,可用性以及并发量](#1-你使用过哪些组件或者方法来提升网站性能可用性以及并发量) - [1. 你使用过哪些组件或者方法来提升网站性能,可用性以及并发量](#1-你使用过哪些组件或者方法来提升网站性能可用性以及并发量)
- [2. 设计高可用系统的常用手段](#2-设计高可用系统的常用手段) - [2. 设计高可用系统的常用手段](#2-设计高可用系统的常用手段)
- [3. 现代互联网应用系统通常具有哪些特点?](#3-现代互联网应用系统通常具有哪些特点) - [3. 现代互联网应用系统通常具有哪些特点?](#3-现代互联网应用系统通常具有哪些特点)
- [4. 谈谈你对微服务领域的了解和认识](#4-谈谈你对微服务领域的了解和认识) - [4. 谈谈你对微服务领域的了解和认识](#4-谈谈你对微服务领域的了解和认识)
- [5. 谈谈你对 Dubbo 和 Spring Cloud 的认识\(两者关系\)](#5-谈谈你对-dubbo-和-spring-cloud-的认识两者关系) - [5. 谈谈你对 Dubbo 和 Spring Cloud 的认识\(两者关系\)](#5-谈谈你对-dubbo-和-spring-cloud-的认识两者关系)
- [6. 性能测试了解吗?说说你知道的性能测试工具?](#6-性能测试了解吗说说你知道的性能测试工具) - [6. 性能测试了解吗?说说你知道的性能测试工具?](#6-性能测试了解吗说说你知道的性能测试工具)
- [7. 对于一个单体应用系统,随着产品使用的用户越来越多,网站的流量会增加,最终单台服务器无法处理那么大的流量怎么办?](#7-对于一个单体应用系统随着产品使用的用户越来越多网站的流量会增加最终单台服务器无法处理那么大的流量怎么办) - [7. 对于一个单体应用系统,随着产品使用的用户越来越多,网站的流量会增加,最终单台服务器无法处理那么大的流量怎么办?](#7-对于一个单体应用系统随着产品使用的用户越来越多网站的流量会增加最终单台服务器无法处理那么大的流量怎么办)
- [8. 大表优化的常见手段](#8-大表优化的常见手段) - [8. 大表优化的常见手段](#8-大表优化的常见手段)
- [9. 在系统中使用消息队列能带来什么好处?](#9-在系统中使用消息队列能带来什么好处) - [9. 在系统中使用消息队列能带来什么好处?](#9-在系统中使用消息队列能带来什么好处)
- [1) 通过异步处理提高系统性能](#1-通过异步处理提高系统性能) - [1) 通过异步处理提高系统性能](#1-通过异步处理提高系统性能)
- [2) 降低系统耦合性](#2-降低系统耦合性) - [2) 降低系统耦合性](#2-降低系统耦合性)
- [10. 说说自己 CAP 定理,BASE 理论的了解](#10-说说自己-cap-定理base-理论的了解) - [10. 说说自己 CAP 定理,BASE 理论的了解](#10-说说自己-cap-定理base-理论的了解)
- [CAP 定理](#cap-定理) - [CAP 定理](#cap-定理)
- [BASE 理论](#base-理论) - [BASE 理论](#base-理论)
- [参考](#参考) - [参考](#参考)
@ -21,7 +21,7 @@
<!-- /MarkdownTOC --> <!-- /MarkdownTOC -->
### 1. 你使用过哪些组件或者方法来提升网站性能,可用性以及并发量 ### 1. 你使用过哪些组件或者方法来提升网站性能,可用性以及并发量
1. **提高硬件能力、增加系统服务器**。(当服务器增加到某个程度的时候系统所能提供的并发访问量几乎不变,所以不能根本解决问题) 1. **提高硬件能力、增加系统服务器**。(当服务器增加到某个程度的时候系统所能提供的并发访问量几乎不变,所以不能根本解决问题)
2. **使用缓存**本地缓存本地可以使用JDK自带的 Map、Guava Cache.分布式缓存Redis、Memcache.本地缓存不适用于提高系统并发量一般是用处用在程序中。比如Spring是如何实现单例的呢大家如果看过源码的话应该知道Spiring把已经初始过的变量放在一个Map中下次再要使用这个变量的时候先判断Map中有没有这也就是系统中常见的单例模式的实现。 2. **使用缓存**本地缓存本地可以使用JDK自带的 Map、Guava Cache.分布式缓存Redis、Memcache.本地缓存不适用于提高系统并发量一般是用处用在程序中。比如Spring是如何实现单例的呢大家如果看过源码的话应该知道Spiring把已经初始过的变量放在一个Map中下次再要使用这个变量的时候先判断Map中有没有这也就是系统中常见的单例模式的实现。
@ -83,7 +83,7 @@ Dubbo 与 Spring Cloud 并不是竞争关系Dubbo 作为成熟的 RPC 框架
后端程序员或者测试平常比较常用的测试工具是 JMeter官网[https://jmeter.apache.org/](https://jmeter.apache.org/)。Apache JMeter 是一款基于Java的压力测试工具(100纯Java应用程序),旨在加载测试功能行为和测量性能。它最初被设计用于 Web 应用测试但后来扩展到其他测试领域。 后端程序员或者测试平常比较常用的测试工具是 JMeter官网[https://jmeter.apache.org/](https://jmeter.apache.org/)。Apache JMeter 是一款基于Java的压力测试工具(100纯Java应用程序),旨在加载测试功能行为和测量性能。它最初被设计用于 Web 应用测试但后来扩展到其他测试领域。
### 7. 对于一个单体应用系统,随着产品使用的用户越来越多,网站的流量会增加,最终单台服务器无法处理那么大的流量怎么办? ### 7. 对于一个单体应用系统,随着产品使用的用户越来越多,网站的流量会增加,最终单台服务器无法处理那么大的流量怎么办?
这个时候就要考虑扩容了。《亿级流量网站架构核心技术》这本书上面介绍到我们可以考虑下面几步来解决这个问题: 这个时候就要考虑扩容了。《亿级流量网站架构核心技术》这本书上面介绍到我们可以考虑下面几步来解决这个问题:
@ -145,7 +145,7 @@ Dubbo 与 Spring Cloud 并不是竞争关系Dubbo 作为成熟的 RPC 框架
> 这个问题一般会在上一个问题问完之后,紧接着被问到。“使用消息队列会带来什么问题?”这个问题要引起重视,一般我们都会考虑使用消息队列会带来的好处而忽略它带来的问题! > 这个问题一般会在上一个问题问完之后,紧接着被问到。“使用消息队列会带来什么问题?”这个问题要引起重视,一般我们都会考虑使用消息队列会带来的好处而忽略它带来的问题!
### 10. 说说自己 CAP 定理,BASE 理论的了解 ### 10. 说说自己 CAP 定理,BASE 理论的了解
#### CAP 定理 #### CAP 定理