单机,集群和分布式概念

单机的局限性:

1.受限于硬件资源,单机所能承受的用户并发量太少;

2.一个系统有多个模块,任意模块的修改都会导致整个项目代码重新编译、部署;

3.系统中,有些模块是CPU密集型,有些模块是I/O密集型,造成各个模块对于硬件资源的需求是不一样的。

集群:

负载均衡

集群的优点?

性能提升了,用户的并发量提升了,因为水平扩充了硬件资源;

部署简单。
集群的缺点?

1、项目代码还是需要整体重新编译,而且需要进行多次部署。

2、系统中有些模块是属于CPU密集型(计算量大的),有些模块是属于I/O密集型的(接触输入输出,网络IO),造成各模块对硬件资源的需求是不一样。

并不是说机器多,并发量就上来,性能就高。像一些使用不多的模块,不需要高并发,所以也就不需要分别部署在三台机器上,不常用的模块只需要部署在一台机器上就好

分布式:

集群:每一台服务器独立运行一个工程的所有模块。

分布式:一个工程拆分了很多模块,每一个模块独立部署运行在一个服务器主机上,所有服务器协同工作共同提供服务,每一台服务器称作分布式的一个节点,根据节点的并发要求,对一个节点可以再做节点模块集群部署。

分布式优点:

1.对于并发量大的模块我们单独处理,单独加集群;

2.假如其中一个模块出问题了,我们只需要修改一个模块就可以了;

3.把CPU密集型的模块部署在CPU资源好的机器上。把内存小的模块部署在硬盘资源少的机器上。把IIO密集型的模块部署在CPU不是很好的机器上。

4、有的模块要求并发能力高,可以进行多机器集群部署。有的模块并发能力小,部署在一台机器就可以。

5、配置着高可用,容灾,主备服务器,不用担心就---套系统挂掉了怎么办。

分布式问题:

1、大系统的软件模块该怎么划分?

  • 各模块可能实现大量重复的代码!
  • 模块和模块之间的界线不清晰(有的模块里面的函数调动另一个模块的函数代码)。
  • 处理不好,造成大量重复代码。而且你改你的,我改我的,重复的公共代码就出问题了,变成不可控制了。
  1. 各个模块之间如何通信?

两个模块之间rpc通信协议,交互。

相关推荐
ltl6 小时前
2PC 的真实失败模式:阻塞、脑裂与恢复
分布式
霸道流氓气质8 小时前
分布式系统设计:技术解析与实践
分布式
ACP广源盛1392462567311 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
汽车仪器仪表相关领域15 小时前
KRYPTON坚固型IP67 EtherCAT总线数据采集模块:工业级分布式采集方案
分布式·功能测试·汽车·压力测试·可用性测试
霸道流氓气质17 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
naierfengdian18 小时前
分布式风电助力乡村能源转型的技术路径
分布式·能源
霸道流氓气质19 小时前
RedLock:Redis 分布式锁的高可用方案
数据库·redis·分布式
hhzz19 小时前
《深度学习框架PyTorch入门与实践》系列:09-分布式与并行训练之DataParallel、DDP与Horovod
pytorch·分布式·深度学习
城管不管1 天前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
ly76892 天前
分布式一致性算法详解:从 2PC、3PC 到 Paxos、Raft、ZAB
分布式·算法