1.关于单机架构、集群架构、分布式架构理解:

单机架构:所有的代码都写在一个项目中,项目部署在一台服务器上

集群架构:就是单机复制几份,一起组成的就是集群。集群中每台服务器就叫做这个集群的一个节点,所有节点构成了一个集群。                    每个节点都提供相同的服务

架构设计理解(一)

集群的好处:系统易于扩展。但是,当业务发展到一定程度的时候,会产生一个问题——无论怎么增加节点,整个集群性能的提升效果并不明显了。这时候,就需要使用微服务结构了

负载均衡服务器作用:主要解决用户的请求,交给哪个节点进行处理。(最好交给负载较小的节点进行处理)

负载均衡策略:

1)轮询(默认)

缺点:不会考虑到每台服务器的处理能力

2)权重

架构设计理解(一)

 注意 权重这种策略是根据权重的比例进行负载,是这样的一个概率,而不是百分百按比例分配。

优点:考虑了每台服务器处理能力的不同,用的最多.

3)ip_hash

架构设计理解(一)

优点:能实现同一个用户访问同一个服务器,解决了分布式session问题
缺点:ip hash 负载均衡也是不平均的,可能不会起到很好的效果。

4)url hash(第三方:需要配第三方插件)

优点:能实现同一个服务(url)访问同一个服务器
缺点:分配请求不平均,起不到负载均衡的功能,还是一个url会有大量流量.

5)fair(第三方)

优点:根据后端服务器的响应时间分布请求,响应时间短的优先分配

分布式架构:将一个完整的系统,按照业务功能,拆分成一个个独立的子系统。在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。

架构设计理解(一)

从单机结构到集群结构,业务代码基本不需要作任何修改,工程师要做的仅仅是多部署几台服务器,每台服务器上运行相同的代码就行了。但是,从集群结构演进到微服务结构,之前的那套代码就需要发生较大的改动。所以对于新系统,系统设计之初就采用微服务架构,这样后期运维的成本更低。但如果一套老系统需要升级成微服务结构的话,那就得对代码大动干戈了。所以,对于老系统而言,究竟是继续保持集群模式,还是升级成微服务架构,这需要架构师深思熟虑、权衡投入产出比。

分布式架构的特点:

  • 系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。
  • 系统之间的耦合度降低,从而系统更易于扩展,可以针对性地扩展某些服务。假设这个商城要搞一次大促,下单量可能会大大提升,因此可以针对性地提升订单系统、产品系统的节点数量,而对于后台管理系统、数据分析系统而言,节点数量维持原有水平即可。
  • 服务的复用性更高。比如,将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发

区别联系:

1)集群主要的使用场景是为了分担请求的压力,分布式的应用场景是单台机器已经无法满足性能的要求

2)分布式是指多个系统协同合作完成一个特定任务的系统。分布式的主要工作是分解任务,将职能拆解

3)集群主要是简单加机器解决问题,对于问题本身不做任何分解

 

将一套系统拆分成不同子系统部署在不同服务器上,这叫分布式
然后部署多个相同的子系统在不同的服务器上,这叫集群
部署在不同服务器上的同一个子系统,叫做负载均衡

分布式和微服务的区别:

微服务是架构设计方式,分布式是系统部署方式

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

分布式属于微服务

 

2.微服务、SpringBoot区别和联系

微服务就是将一个系统按照功能模块进行划分,每个功能独立打包部署在web容器里面,每个功能成为一个服务,服务直接使用SpringCloud或Dubbo远程调用协议进行服务间调用

springboot是一个快速搭建应用的框架,不是微服务

 

相关文章:

  • 2021-09-13
  • 2021-11-18
  • 2021-10-24
  • 2022-01-08
  • 2021-07-05
  • 2021-06-08
  • 2021-09-01
  • 2021-10-26
猜你喜欢
  • 2021-09-26
  • 2021-10-06
  • 2021-11-21
  • 2021-07-12
  • 2021-11-18
  • 2021-05-14
  • 2021-06-26
相关资源
相似解决方案