首页 > 其他分享 >分布式与集群--一起学习吧之架构

分布式与集群--一起学习吧之架构

时间:2024-03-13 10:00:15浏览次数:27  
标签:架构 -- 系统 集群 计算 服务器 节点 分布式

分布式和集群都是为了提高系统的性能和可靠性而采用的技术手段。它们在实际应用中各有优势,可以互相结合使用,以实现更好的系统性能和健壮性。

一、区别

  1. 组织结构

    • 分布式:将一个复杂的业务系统拆分成多个子业务系统,每个子业务系统部署在不同的服务器上。这意味着,不同的子业务运行在独立的服务器上,通过网络连接和交换信息来协同完成一个业务任务。
    • 集群:同一个子业务系统被复制成多份,并部署在多台服务器上。这些服务器通常位于同一个物理空间内,形成一个集合的群体。也就是说,多台服务器提供的是同一种服务和功能。
  2. 节点与整体关系

    • 在分布式中,每个节点(子业务系统)都可以独立运行,节点间的依赖关系较少。
    • 在集群中,节点(服务器)间的依赖关系较强,因为它们是作为一个整体来提供服务和功能的。
  3. 扩展与容错

    • 分布式系统更侧重于通过增加节点(子业务系统)来提高系统的整体性能和健壮性。
    • 集群则更侧重于通过增加节点(服务器)来提高单位时间内执行的任务数,从而提高系统的吞吐量和性能。

二、联系

  1. 互补性:分布式和集群可以互相结合使用。首先,通过分布式将复杂的业务拆分成多个子业务系统,然后,每个子业务系统可以采用集群的方式进行部署,从而进一步提高系统的性能和健壮性。
  2. 负载均衡:在分布式和集群中,都可以使用负载均衡技术来均衡服务器的负载,提高系统的性能和可靠性。例如,在集群中,当某个服务器出现故障时,其他服务器可以接管其任务,确保服务的连续性。 

三、区别实例

分布式系统的例子:在线购物平台

想象一个大型的在线购物平台,如亚马逊或阿里巴巴。这个平台需要处理大量的用户请求,包括商品搜索、购物车管理、订单处理、支付等多个功能。为了提高系统的性能和稳定性,平台可以采用分布式架构。

  • 商品搜索:这个功能可以部署在一个或多个专门的服务器上,负责处理用户的搜索请求,返回相关的商品信息。
  • 购物车管理:这个功能可以部署在另一组服务器上,负责用户的购物车信息的存储和管理。
  • 订单处理:当用户下单时,订单处理系统会在专门的服务器上进行处理,包括生成订单、计算价格、扣除库存等。
  • 支付:支付功能可以部署在另一个独立的服务器上,负责处理用户的支付请求,与支付网关进行交互。

这些不同的功能模块都被拆分成独立的子系统,部署在不同的服务器上,形成了一个分布式的系统。每个子系统都可以独立运行和升级,提高了系统的灵活性和可扩展性。

集群的例子:高性能计算集群

高性能计算集群(HPC Cluster)是另一种常见的集群应用。它通常由数十到数千台计算机组成,用于执行大规模的数学计算、模拟仿真、数据分析等任务。

  • 计算节点:集群中的每台计算机都是一个计算节点,它们共同执行一个或多个计算任务。这些计算任务被分割成多个小任务,分配给不同的计算节点进行处理。
  • 负载均衡:在集群中,通常会有一个负载均衡器负责将计算任务分配给不同的计算节点。它根据各个节点的负载情况,动态地调整任务的分配,以确保系统的性能最大化。
  • 数据共享:集群中的节点通常需要共享大量的数据。为了实现高效的数据共享和访问,集群通常会使用高性能的存储系统,如分布式文件系统(DFS)或网络文件系统(NFS)。

在这个例子中,所有的计算节点都提供相同类型的服务和功能,即执行计算任务。它们通过高速网络连接在一起,形成一个整体的集群,共同完成大规模的计算任务。

通过这两个例子,我们可以看到分布式和集群的区别。在分布式系统中,不同的功能模块被拆分成独立的子系统,部署在不同的服务器上;而在集群中,多个相同的服务器共同提供同一种服务和功能,通过负载均衡和数据共享来提高系统的性能和可靠性。

标签:架构,--,系统,集群,计算,服务器,节点,分布式
From: https://blog.csdn.net/wd90119/article/details/136457705

相关文章

  • 20个Python random模块的代码示例
    本文分享自华为云社区《Python随机数探秘:深入解析random模块的神奇之处》,作者:柠檬味拥抱。标准库random函数大全:探索Python中的随机数生成随机数在计算机科学和数据科学领域中扮演着重要角色,Python的标准库中提供了random模块,用于生成各种随机数。本篇博客将深入探讨random模块......
  • Ubuntu更新显卡驱动失败解决
    在更新显卡驱动的时候无论是命令还是手动点都是显示报错的sudoaptinstallnvidia-driver-535报错信息为:错误:18http://security.ubuntu.com/ubuntufocal-security/restrictedamd64nvidia-driver-535amd64535.146.02-0ubuntu0.20.04.1404NotFound[IP:2620:2......
  • 深度学习 有哪些 让人惊艳的、天才般的创新点
    神经网络自适应学习率:通过引入二阶优化方法,神经网络可以根据不同参数的重要性来调整学习率,从而在训练过程中能够更快地收敛到最优解。双向循环神经网络(BiRNN):结合正向和反向循环的信息传递,可以更好地捕捉时间序列数据中的双向依赖关系,提高模型的准确性和泛化能力。自注意力......
  • 05-vue
    Vue2直接下载并用<script>标签引入,Vue会被注册为一个全局变量。<body> <divid="app"> </div></body><scriptsrc="../js/vue.js"></script><script!src=""> /*创建Vue实例*/ constmyVue=newVue({ ......
  • 运维必备的开源多功能监控系统
    项目地址https://github.com/dromara/hertzbeat项目介绍HertzBeat是一个无需Agent、高性能、易扩展、功能强大的开源实时监控告警系统,无需Agent、高性能、易扩展、功能强大,由Dromara团队开发并开源,能够帮我们轻松监控应用、服务、基础设施等各种资源的运行状况。特......
  • Docker 实现类似花生壳动态域名解析
    前置条件准备工作  一,腾讯云注册的域名  二,运行Docker的服务器(我这使用的绿联云DX4600)  三,家用电信宽带,公网IP可以打客服电话申请  1.  首先申请个域名,各大云平台一般都有渠道,不备案也可以用,以下是腾讯云域名注册链接腾讯云官网 2.域名到手......
  • 一款炫酷&高效的运维管理系统
    项目介绍WGCLOUD支持服务器或主机的各种指标监测(cpu使用率,cpu温度,内存使用率,磁盘容量空间,磁盘IO,硬盘SMART状态,系统负载,连接数量,网卡流量,硬件系统信息等)。支持监测服务器或主机上的进程应用、文件、端口、日志、DOCKER容器、数据库、数据表等资源。支持监测服务接口API、数......
  • stm32 foc 库输出波形
    前言本文为学习st的FOC库笔记,记录FOC库实际输出的PWM波形之间的区别。关键词:SPWM,SVPWM,Overmodulation,DiscontinuousPWM标准波形输出对应Modulationflags为None可以看到,输出波形为马鞍波,即生成波形为SVPWM。对比逆克拉克变换生成的SPWM,生成的波形两者幅值相同。......
  • godot show FPS
    varinfo:="FPS:%dDrawcalls:%sGPU时间:%.3fmsCPU时间:%.3fms"#Calledeveryframe.'delta'istheelapsedtimesincethepreviousframe.func_process(delta): varfps=Performance.get_monitor(Performance.TIME_FPS) vardraw_call......
  • 用QT开发Android投屏软件--上传文件和安装apk
    这篇文章我们给Android投屏软件增加文件上传和安装apk的功能。上传文件和安装apk对pc端的操作基本没有差别,因为apk也是一种文件格式。通过点击按钮或者拖动待上传(安装)的文件到投屏窗口,软件获取到文件路径,执行不同的adb命令。上传文件的adb命令:adb-s设备序列号push<电......