如何理解分布式与集群,二者区别是什么
展开全部
分布式是指不同的业务分布在不同的地方,集群指的是将几台服务器集中在一起,实现同一业务。白话理解的话,比如公司项目上线初期(举例电子商务网站)
初期:用户访问量低,只弄了一台服务器,一个tomcat项目运行一个web工程。
中期:用户访问量提高,服务器崩了,为了解决这个问题,购买服务器,增加服务器数量,然后每个服务器中个各放了一份,使用nginx代理转发。(这就是运用集群原理)
后期:用户访问量不断增加,响应速度变慢,服务器又崩了,在不考虑增加服务器带宽、内存和CPU的情况下如何解决这个问题?先解决响应速度变慢,用户频繁调用数据库,在客户端与数据库之间,使用redis缓存。解决之后,又发现问题:由于每台服务器运行一个tomcat,放着一个web工程,用户有可能在商品详情存在大幅度调用数据库,而订单列表调用幅度小,此时就存在着模块之间耦合度高,一个功能升级其他也需要升级,扩展性差,不能灵活部署。是该考虑项目重构,把项目按照模块分为不同的系统(使用zookeeper进行模块之间通信),例如:订单系统,会员系统、搜索系统、商品信息系统。把每个模块进行拆分,用户在哪个系统访问频繁,就针对哪个系统进行对症下药,增加缓存还是使用其他技术。(这样我们就可以单独对这个模块进行服务性能的提升,不用全部都一起提升。也降低了代码的耦合度,模块之间互不影响,即使后期增加开发人员,也可按照敏捷开发思想只对其负责模块进行开发,效率大大提升)。这样一个web工程就拆分成多个web工程(多个tomcat部署)。那这个项目就可以在一台服务器部署多个工程(不同端口进行通信)或者多台服务器运行单个项目。(这就是分布式原理)
总而言之,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
初期:用户访问量低,只弄了一台服务器,一个tomcat项目运行一个web工程。
中期:用户访问量提高,服务器崩了,为了解决这个问题,购买服务器,增加服务器数量,然后每个服务器中个各放了一份,使用nginx代理转发。(这就是运用集群原理)
后期:用户访问量不断增加,响应速度变慢,服务器又崩了,在不考虑增加服务器带宽、内存和CPU的情况下如何解决这个问题?先解决响应速度变慢,用户频繁调用数据库,在客户端与数据库之间,使用redis缓存。解决之后,又发现问题:由于每台服务器运行一个tomcat,放着一个web工程,用户有可能在商品详情存在大幅度调用数据库,而订单列表调用幅度小,此时就存在着模块之间耦合度高,一个功能升级其他也需要升级,扩展性差,不能灵活部署。是该考虑项目重构,把项目按照模块分为不同的系统(使用zookeeper进行模块之间通信),例如:订单系统,会员系统、搜索系统、商品信息系统。把每个模块进行拆分,用户在哪个系统访问频繁,就针对哪个系统进行对症下药,增加缓存还是使用其他技术。(这样我们就可以单独对这个模块进行服务性能的提升,不用全部都一起提升。也降低了代码的耦合度,模块之间互不影响,即使后期增加开发人员,也可按照敏捷开发思想只对其负责模块进行开发,效率大大提升)。这样一个web工程就拆分成多个web工程(多个tomcat部署)。那这个项目就可以在一台服务器部署多个工程(不同端口进行通信)或者多台服务器运行单个项目。(这就是分布式原理)
总而言之,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
上海风华峻极智能科技
2022-05-05 广告
2022-05-05 广告
上海风华峻极智能科技有限公司【远程会议视频系统】一体化解决方案,如同面对面开会一般,让远程会议更简单,多种会议场景布局,舞台设备厂家,高保真语音的传输,极速快捷远程会议体验,只为高效沟通,支持万人及多房间同时在线....
点击进入详情页
本回答由上海风华峻极智能科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询