分布式
解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。
涉及:分布式文件系统、分布式缓存、分布式数据库、分布式计算等,一些名词如Hadoop、zookeeper、MQ等都跟分布式有关。
实现形式
水平扩展
添加机器,将流量分到别的服务器
垂直拆分
前端有多种查询需求,一台扛不住,可以将不同需求分发到不同的机器上。比如A机器处理余票查询,B机器处理支付。
高并发
高并发是指同时有多少量:比如在线直播服务,同时有上万人观看。
解决
- 使用多线程技术将一台服务器的服务能力最大化。
- 使用缓存系统
- 将静态内容放到CDN等;
- 分布式技术去解决,将并发流量分到不同的物理服务器上。
多线程
从软件或者硬件上实现多个线程并发执行的技术。它更多的是解决CPU调度多个进程的问题,从而让这些进程看上去是同时执行(实际是交替运行的)。
总结
- 分布式是从物理资源的角度出发,整合多台服务器。
- 高并发是从业务角度去描述系统的能力。实现手段可以是分布式,也可以是其他
- 多线程则聚焦于如何将CPU调度能力最大化。基本上遇到的最大问题就是线程安全。