1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Merge pull request #1106 from zhenhaochuang/patch-1

Update 关于大型网站系统架构你不得不懂的10个问题.md
This commit is contained in:
Guide哥 2021-03-05 21:27:43 +08:00 committed by GitHub
commit 99c371f96a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,7 +24,7 @@
### 1. 你使用过哪些组件或者方法来提升网站性能,可用性以及并发量
1. **提高硬件能力、增加系统服务器**。(当服务器增加到某个程度的时候系统所能提供的并发访问量几乎不变,所以不能根本解决问题)
2. **使用缓存**本地缓存本地可以使用JDK自带的 Map、Guava Cache.分布式缓存Redis、Memcache.本地缓存不适用于提高系统并发量,一般是用处用在程序中。比如Spring是如何实现单例的呢大家如果看过源码的话应该知道S把已经初始过的变量放在一个Map中下次再要使用这个变量的时候先判断Map中有没有这也就是系统中常见的单例模式的实现。
2. **使用缓存**本地缓存本地可以使用JDK自带的 Map、Guava Cache.分布式缓存Redis、Memcache.本地缓存不适用于提高系统并发量一般是用在程序中。比如Spring是如何实现单例的呢大家如果看过源码的话应该知道S把已经初始过的变量放在一个Map中下次再要使用这个变量的时候先判断Map中有没有这也就是系统中常见的单例模式的实现。
3. **消息队列** (解耦+削峰+异步)
4. **采用分布式开发** (不同的服务部署在不同的机器节点上,并且一个服务也可以部署在多台机器上,然后利用 Nginx 负载均衡访问。这样就解决了单点部署(All In)的缺点,大大提高的系统并发量)
5. **数据库分库(读写分离)、分表(水平分表、垂直分表)**