为了理解分布式与高并发和多线程是什么意思

一开始说到这三个东西  我都是一脸懵逼的 ,以为差不多,都是大量访问的东西;经过自己的查阅总结,才算明白点。这篇文章旨在理解三个概念,并未深入,望各位不吝指点:

一、分布式

      为了解决单个物理器容量和性能瓶颈 而采用的手段。

      这个领域要解决的问题很多,如: 分布式文件系统、分布式缓存、分布式数据库、分布式计算等。

      分布式实现由两种方式:

    水平扩展:

              当一台机器扛不住流量时,就通过添加机器的方式,将流量平分到所有服务器上,所有机器都可以提供相当的服务;

     垂直拆分:

              前端有多种查询需求时,一台机器扛不住,可以将不同的需求分发到不同的机器上,比如A机器处理余票查询的请求,           机器处理支付的请求。

二、高并发

       它反映的是同时由多少量,比如直播同时有上万人观看。

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

三、多线程

      在软件或者硬件上多个线程并发执行的技术 ,更多的是解决cpu调度多个线程的问题。   让进程看上去是同事执行,其实是交替执行。

      多线程解决问题很明确,就是线程安全问题。

最后总结一哈:   

分布式是从物理资源的角度去将不同的机器组成一个整体对外服务,技术范围非常广且难度非常大,有了这个基础,高并发、高吞吐等系统很容易构建;

高并发是从业务角度去描述系统的能力,实现高并发的手段可以采用分布式,也可以采用诸如缓存、CDN等,当然也包括多线程;

多线程则聚焦于如何使用编程语言将CPU调度能力最大化。

 

 

 

 

你可能感兴趣的:(为了理解分布式与高并发和多线程是什么意思)