基础内容
定义:确保系统能够在合理的时间内完成其任务
关键概念
- 吞吐量(Throughput):单位时间内系统处理的请求数量
- 实现技术
- 负载均衡
- 将请求分发到多个服务器,提高整体吞吐量
- 工具:Nginx, HAProxy, AWS ELB
- 异步处理
- 使用异步I/O操作提高系统并发处理能力
- 框架:Node.js, asyncio(Python)
- 批处理
- 将多个请求合并处理,减少每个请求的开销
- 示例:数据库批量插入操作
- 负载均衡
- 实现技术
- 响应时间(Response Time):系统对请求作出响应的时间
- 实现技术
- 缓存
- 将常用数据缓存到内存中,减少读取数据的时间
- 工具:Redis, Memcached
- 数据库优化
- 优化数据库查询,提高数据检索速度。
- 方法:创建索引、优化查询、使用存储过程
- 内容分发网络
- 将静态内容缓存到全球各地的节点上,减少网络延迟
- 服务商:Cloudflare, Akamai
- 缓存
- 实现技术
- 并发性(Concurrency):系统同时处理多个请求的能力
- 实现技术
- 多线程和多进程
- 通过多线程和多进程实现并发处理
- 语言特性:Java 的多线程,Python 的多进程(multiprocessing)
- 异步编程
- 通过异步 I/O 操作实现高并发处理
- 框架:Node.js, asyncio(Python)
- 线程池
- 使用线程池管理并发任务,避免频繁创建和销毁线程的开销
- 工具:Java ExecutorService, Python concurrent.futures
- 多线程和多进程
- 案例
- 实现技术