1 、分布式系统概述

什么是分布式

  将一个大系统拆分成多个小系统,分散到不同的设备上,这就是分布式。它有两个特点:
  1、硬件独立:各设备之间独立,互不依赖。
  2、软件统一:对用户来说,就像是跟单个系统打交道。

为什么需要分布式

  1、为了性能扩展:系统负载高,单台机器无法承受,希望通过多台机器来提高系统负载能力
  2、为了增强可靠性:软件不是完美的,网络不是完美的,甚至机器也不是完美的,随时可能出错,为了避免故障,需要将业务分散开保留一定的冗余度

将传统软件改造为分布式的步骤

  1、将整个软件视为一个系统(不管它有多复杂);
  2、将整个系统分割为一系列的Process(进程),每个Process完成一定的功能;
  3、将这些Process分散到不同的机器上。分散后,选择若干种通信协议把它们连接起来。

分布式与集群的区别

  1、集群:软件A能完成功能1、2、3,将A部署多份,则所有A之间关系为集群;
  2、分布式:将软件A拆分为A1、A2、A3,各自采用集群方式部署,则所有A1之间,所有A2之间,所有A3之间仍为集群关系,但所有的A1与所有A2之间为分布式;

分布式与微服务的区别

  1、微服务的意思也是将模块拆分成独立的服务单元通过接口来实现数据的交互;
  2、微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务;
  3、微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

实现分布式系统的核心关注点

  1、如何拆分:核心依据 一是业务需求,二是成本限制。
  2、如何连接:这部分成熟方案挺多,一般是在NIO之上的封装,像RPC的方案有ICE、Dubbo、Thrift、Grpc等,考虑到后期的应用性能监控,可以使用Dubbo或Thrift。

猜你喜欢

转载自blog.csdn.net/xuguangyuansh/article/details/78657199
今日推荐