大并发服务器架构

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/SuperYang_/article/details/79563310

本文为博主《C++视频教程 高性能服务器开发 poll epoll muduo_base muduo_net》视频教程观后笔记,如有错误,请指正


服务器设计目标

1.高性能:充分利用服务器硬件资源最大限度处理多条并发请求

2.高可用:能够保证长时间稳定运行,能够做到数据备份和失效转移

3.可伸缩:可以随时通过增加资源拓展服务器并发处理能力


分布式系统

1.负载均衡:大量并发请求可以分摊到多个操作单元进行执行

2.分布式存储:将数据分散存储在多台独立的设备上

3.分布式计算:将应用分解成多个小的部分,分配给多台计算机进行处理


通用C/S架构


ps:B/S架构也可以看成一种特殊的C/S架构


典型服务器架构


以上为一种典型的集中式服务器架构,虽然可以为应用程序提供基础的服务,但如果应用请求过高,服务器将难以支撑

对此,我们可以做出以下优化:

1.数据库连接池:当有并发请求需要访问数据库时,可从连接池中取出一条连接,无需再次连接,提高数据库访问效率

2.数据库Replication机制:建立主-从/读-写数据库

3.数据库分库/分表(垂直分库,不常用) 数据库数据量分解(水平分库,常用)

4.将数据库部分/常用数据存储到内存(cache),加快数据读写速度

5.cache与数据库同步策略:定时同步(实时性不高,不推荐) 写同步(数据库内容/cache内容发生变化,更新cache/数据库内容)

6.增加任务服务器分解客户端请求:主动分解(检测各应用服务器CPU、IO、内存使用情况,分解任务) 被动分解(各应用服务器空闲主动从任务服务器获取任务)

做出以上优化后的服务器架构大体如下:



对相关内容感兴趣的建议看看视频,相关视频网络上可以搜索到

猜你喜欢

转载自blog.csdn.net/SuperYang_/article/details/79563310
今日推荐