提高硬件能力、增加系统服务器(当服务器增加到某个程度的时候,系统所能提供的并发访问量几乎不变,所以不能从根本上解决问题)
使用缓存(本地缓存:可以使用 JDK 自带的 Map、Guava Cache;分布式缓存如:Redis、Memcache。本地缓存并不适用于提高系统并发量,如 Spring 是把已经初始过的变量放在一个 Map 中,下次再要使用这个变量的时候,先判断 Map 中有没有,这也是系统中常见的单例模式实现)
消息队列 (解耦+削峰+异步)
采用分布式开发 (不同的服务部署在不同的机器节点上,且同一个服务也可以部署在多台机器上,然后利用 Nginx 负载均衡访问,这样就解决了单点部署 (All In) 的缺点,大大提高了系统的并发量)
数据库分库(读写分离)、分表(水平分表、垂直分表)
采用集群 (多台机器提供相同的服务)
CDN 加速 (将一些静态资源比如图片、视频等等缓存到离用户最近的网络节点)
浏览器缓存
使用合适的连接池(数据库连接池、线程池等等)
适当使用多线程进行开发
高性能系统的常用开发手段
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而...