简介分布式、高并发和多线程的区别

三者相依而生,但是侧重点不同。

分布式:(物理资源角度)

是为了解决一个物理服务器的容量和性能瓶颈问题不能满足需求而采取的优化手段。

优化手段有两种:

  1. 水平扩展:当一台机器的容量不足够的时候,需要增加机器的方式,将流量平均到所有服务器上,所有机器都可以提供相当的服务;
  2. 垂直拆分:,前端有多种需求查询时,一台机器不够用,可以将不同的需求分发到不同的机器上,比如A机器处理余票查询,B机器可以处理支付请求等。

高并发:(业务角度)

可以简单的理解为服务器上同时可以运行多少量,比如双十一淘宝可以同时支持多少人付款。

解决方法:高并发可以通过分布式技术去解决,将并发流量分到不同的物理服务器上。但除此之外,还可以有很多其他优化手段:比如使用缓存系统,将所有的,静态内容放到CDN等;还可以使用多线程技术将一台服务器的服务能力最大化。

多线程:(使CPU调度能力最大化)

多线程是指从软件或者硬件上实现多个线程并发执行的技术,它更多的是解决CPU调度多个进程的问题,从而让这些进程看上去是同时执行(实际是交替运行的)。

这几个概念中,多线程解决的问题是最明确的,手段也是比较单一的,基本上遇到的最大问题就是线程安全。在JAVA语言中,需要对JVM内存模型、指令重排等深入了解,才能写出一份高质量的多线程代码。

猜你喜欢

转载自blog.csdn.net/weixin_41550144/article/details/88525678