怎么理解分布式、高并发、多线程

开发 前端 分布式
分布式更多的是一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段.

[[345825]]

 一、什么是分布式?
分布式更多的是一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段,该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式文件系统、分布式缓存、分布式数据库、分布式计算等,一些名词如Hadoop、zookeeper、mq等都跟分布式有关。从理念上讲,分布式的实现有两种形式:

  • 水平扩张

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

  • 垂直拆分

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

二、什么是高并发?
相对于分布式来讲,高并发在解决的问题上会集中一些,其反应的是同时有多少量:比如在线直播服务,同时有上万人观看。

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

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

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

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

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

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

责任编辑:姜华 来源: 今日头条
相关推荐

2018-12-20 09:30:59

分布式高并发多线程

2017-12-12 14:51:15

分布式缓存设计

2020-09-23 22:36:27

分布式架构系统

2020-02-10 19:16:52

服务端高并发架构

2019-10-16 17:07:36

Java服务器架构

2019-09-25 09:01:53

高并发架构分布式

2019-12-17 11:18:37

高并发分布式架构

2022-01-10 19:45:40

微服务GO系统

2022-03-11 10:03:40

分布式锁并发

2022-03-07 08:14:27

并发分布式

2023-10-08 09:34:11

Java编程

2021-09-10 21:25:43

Redis分布式

2022-08-28 09:05:34

分布式存储Ceph

2022-01-06 10:58:07

Redis数据分布式锁

2020-09-03 06:33:35

高并发场景分布式锁

2022-03-04 10:17:04

Redis数据

2019-10-10 09:16:34

Zookeeper架构分布式

2017-09-01 05:35:58

分布式计算存储

2019-06-19 15:40:06

分布式锁RedisJava

2023-05-29 14:07:00

Zuul网关系统
点赞
收藏

51CTO技术栈公众号