• 分布式、集群和微服务概念整理


    整理来源于 https://www.cnblogs.com/xishuai/p/6039838.html

    集群是个物理形态,分布式是个工作方式。

    • 分布式:一个业务分拆多个子业务,部署在不同的服务器上
    • 集群:同一个业务,部署在多个服务器上

    1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。

    分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。

    举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。

    而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

    分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

    2:简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

    例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。

    采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是 Hadoop 的 Map/Reduce 分布式计算模型)

    而采用集群方案,同样提供 10 台服务器,每台服务器都能独立处理这个任务。假设有 10 个任务同时到达,10 个服务器将同时工作,1 小时后,10 个任务同时完成,这样,整身来看,还是 1 小时内完成一个任务!


    好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。

    微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

    分布式:分散压力。微服务:分散能力。

    • 分布式:
      • 不同模块部署在不同服务器上
      • 作用:分布式解决网站高并发带来问题
    • 集群:相同的服务
      • 多台服务器部署相同应用构成一个集群
      • 作用:通过负载均衡设备共同对外提供服务
  • 相关阅读:
    关于百度地图API的地图坐标转换问题
    SQL Server函数大全
    30条SQL查询优化原则
    .net升级到4.0之后,出现;System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798
    Java回调函数的理解
    .NET 开源GIS项目
    微信公众平台开发入门教程
    GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)
    可视化之lattice、recharts、ggplot资源汇总
    回归小知识
  • 原文地址:https://www.cnblogs.com/llhhll/p/9343033.html
Copyright © 2020-2023  润新知