集群和分布式

简介: 集群和分布式

本文以即时通讯软件(IM)为例,介绍单机、集群、分布式的区别,以及它们各自的优缺点。

假设现在开发一款IM,刚开始业务比较简单,用户量也较少,我们将服务部署在一台单机服务器上足矣。软件开发过程中为了让程序更加清晰,便于维护,采用模块化编程。一款IM服务大致包括:用户管理、好友管理、群组管理、消息管理、后台管理。

之后随着用户数量的增长,渐渐发现,单机性能有限,支持的用户并发量较小。并且,我们的代码只是采用模块化方式编写,一个模块出现问题,往往需要将整个项目重新编译,部署,耗时耗力。再之,系统中有些模块属于CPU密集型,有些模块属于I/O密集型,各模块对硬件资源的需求不一样,所以在进行服务器选型时只能综合各模块,可能会导致资源的浪费或过剩。

所以,针对单机性能瓶颈的问题,提出了集群的概念,每一台服务器独立运行一个工程的所有模块,事实上集群就是再多加几台服务器提供服务,比如:

服务器数量的增加自然解决了单机性能瓶颈的问题,但项目部署在多台机器上,代码修改后仍然需要花费大量的精力重新部署项目。并且对于不常用的后台管理模块没必要每台机器上都部署。因此,水平扩充机器的集群方式,仍然存在一些问题。

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

将模块部署到不同的主机,这样修改单独的模块,不影响其他主机模块的运行,并且对于单机性能瓶颈的问题,也可以通过增加节点集群的方式提高性能。

但要实现分布式的模式,对我们的要求就更高,比如,系统要划分模块,怎么划分合理?CPU密集型和I/O密集型模块部署在不同性能的机器上?模块之间会不会存在大量重复的代码?模块之间的调用如何进行等等。模块运行在不同的主机上,模块之间的调用自然就会涉及到网络通信,因此,我们必须实现一个分布式网络通信框架来做支撑。

可见,随着业务增长,程序框架也必须随之改变,而一个好的框架设计往往能在开发、维护方面节约大量成本。

相关文章
|
8天前
|
存储 分布式计算 负载均衡
分布式计算模型和集群计算模型的区别
【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
26 2
|
4天前
|
存储 监控 大数据
构建高可用性ClickHouse集群:从单节点到分布式
【10月更文挑战第26天】随着业务的不断增长,单一的数据存储解决方案可能无法满足日益增加的数据处理需求。在大数据时代,数据库的性能、可扩展性和稳定性成为企业关注的重点。ClickHouse 是一个用于联机分析处理(OLAP)的列式数据库管理系统(DBMS),以其卓越的查询性能和高吞吐量而闻名。本文将从我的个人角度出发,分享如何将单节点 ClickHouse 扩展为高可用性的分布式集群,以提升系统的稳定性和可靠性。
16 0
|
27天前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
39 1
|
27天前
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
27 1
|
27天前
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
38 1
|
27天前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
41 1
|
27天前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
41 0
|
2月前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
74 5
|
2月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
56 0
|
3月前
|
存储 算法 NoSQL
(三)漫谈分布式之集群篇:探寻N个9高可用与PB级数据存储的实现原理!
本文来详细聊聊集群的各方面知识,为诸位量身打造出结构化的集群知识体系。
101 0

热门文章

最新文章