一个典型的大型互联网应用系统使用的技术方案和手段。
1. 应用和数据分离
系统包括应用程序、数据库系统和文件系统,应用和数据进行分离会增加整体系统的IO处理能力,应用程序不会因为数据库的读写或文件的磁盘读写而影响应用的处理器资源的等待。系统相当于增加了CPU、内存、磁盘的资源。
2. 增加本地或分布式缓存服务器
应用程序经常频繁读磁盘或数据库数据,增加本地或远程分布式缓存服务器,提高系统的访问响应速度。降低了数据库和文件系统的访问压力。
3. 应用服务器集群
对高并发的用户数据请求,请求分摊给应用服务器集群,改善系统的并发能力
4. 数据库读写分离
将数据库配置为主从服务器,写数据库到主数据库中,而使用从数据库来读取数据。增加了数据的并发和响应能力。
5. 增加CDN和反向代理服务器
在网络运营商的机房部署CDN服务器,则可以直接返回用户请求的访问资源,静态的数据资源、如图片、脚本。
反向代理检查资源本机是否存在,若没有再向负载均衡服务器向数据中心发起请求。
6. 使用分布式数据库/文件系统
文件数据库的读写的速度和并发能力得到提升
7. 使用NoSQL和搜索引擎
通过使用NoSQL和搜索引擎提高系统的查找能力
8. 业务拆分
不同的业务部署在不同的集群上,他们的伸缩能力得到提升,提高并发能力。
9. 微服务和中台化
关键的业务通过微服务来提供,中台化就建立起来了。
10 增加大数据和AI
对用户数据进行智能分析,为用户提供定制的特性。