怎么理解分布式、高并发、多线程
文章插图
一、什么是分布式?分布式更多的是一个概念 , 是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段 , 该领域需要解决的问题极多 , 在不同的技术层面上 , 又包括:分布式文件系统、分布式缓存、分布式数据库、分布式计算等 , 一些名词如Hadoop、zookeeper、mq等都跟分布式有关 。 从理念上讲 , 分布式的实现有两种形式:
- 水平扩张
- 垂直拆分
二、什么是高并发?相对于分布式来讲 , 高并发在解决的问题上会集中一些 , 其反应的是同时有多少量:比如在线直播服务 , 同时有上万人观看 。
高并发可以通过分布式技术去解决 , 将并发流量分到不同的物理服务器上 。 但除此之外 , 还有很多其它优化手段:比如使用缓存系统 , 将所有的 , 静态内容放到CDN等;还可以使用多线程技术将一台服务器的服务能力最大化 。
文章插图
三、什么是多线程?多线程是指软件或者硬件上实现多个线程并发执行的技术 , 它更多的是解决CPU调度多个进程的问题 , 从而让这些进程看上去是同时执行(实际上是交替运行的) 。
这几个概念中 , 多线程解决的问题是最明确的 , 手段也是比较单一的 , 基本上遇到的最大问题就是线程安全 。 在JAVA语言中 , 需要对JVM内存模型、指令重排等深入了解 , 才能写出一份高质量的多线程代码 。
四、总结分布式是从物理资源的角度将不同的机器组成一个整体对外服务 , 技术范围非常广且难度非常大 , 有了这个基础 , 高并发、高吞吐等系统就很容易构建;
高并发是从业务的角度去描述系统的能力 , 实现高并发的手段可以采用分布式 , 也可以采用诸如缓存、CDN等 , 当然也包括多线程;
【怎么理解分布式、高并发、多线程】多线程则聚焦于如何使用编程语言将CPU调度能力最大化 。
- 线上线下教育融合“大咖谈”:看这场论坛怎么说
- 设计模式6之代理模式
- 华为出售荣耀是怎么回事?空穴来风的谣言,华为官方已辟谣
- 手把手教你挑选大大大大屏的投影仪
- 人机交互过程拆解:是什么?怎么做?
- 充电宝到底该怎么选呢?重点看这五个参数放心选
- 蓝牙音箱千千万,五百元以内怎么选?
- 华为领跑小米紧跟!成立36年的联想,怎么突然就“掉队”了?
- 《深入理解Java虚拟机》:锁优化
- 需求|亚马逊无货源模式怎么做?