SpringCloud相关概念——面试高频(图解+例子)

目录

1、微服务

2、分布式

3、集群

4、分布式于集群关系

5、软件架构演变

(1)单一应用架构

 (2)垂直应用架构

(3) 分布式服务架构

(4)流动计算架构

6、RPC

7、高并发

(1)概念

(2)衡量指标

8、高可用

(1)概念

(2)主—备方式

(3)双主机方式

9、注册中心

 10、负载均衡

(1)概念

(2)策略

11、服务雪崩

12、熔断

 13、限流

14、网关

15、服务跟踪

16、弹性云


 

1、微服务

微服务是将当个应用程序开发为一组小服务方法,每个服务在自己进程中运行,并与轻量级进行通信,每个服务的开发语言可以不同。这些服务围绕业务进行开发,相互之间独立部署。

如:购买商品业务,可以开发出支付服务、库存减少服务、订单添加服务,购买尚品依次调用这些服务完成业务逻辑,这些服务相互独立,可以使用不同语言开发。

2、分布式

分布式系统是若干独立计算机的组合,这些计算机相对于用户来说是单个相关系统。

如:生活中的餐厅看做分布式系统,餐厅中员工洗菜,厨师炒菜、服务员上菜,厨师炒菜需要等员工洗完菜,服务员上菜需要等厨师炒菜完,相互之间有依赖关系,但做的工作又相互独立。

3、集群

集群指将几台服务器集中起来,共同实现统一业务。

如:生活中餐厅,有员工洗菜,厨师炒菜、服务员上菜,由于人流量大,可以多请几个服务员共同上菜,这几个服务员就相当于集群,共同完成上菜。

4、分布式于集群关系

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

如:生活中的餐厅看做分布式系统,餐厅中员工洗菜,厨师炒菜、服务员上菜,厨师炒菜需要等员工洗完菜,服务员上菜需要等厨师炒菜完,相互之间有依赖关系,但做的工作又相互独立。期间可以多请几个服务员共同上菜,即集群。

5、软件架构演变

(1)单一应用架构

网站流量少时,只需一个应用,将所有功能部署在同一台服务器上,以减少节点部署和成本,此时数据库增删改查是关键,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第1张图片

 (2)垂直应用架构

当访问量逐渐变大时,单一应用增加机器加速度越来越小,此时将应用拆分为互补干扰的多个应用,以提升效率,此时用于加速页面的前端框架是关键,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第2张图片

(3) 分布式服务架构

当垂直应用越来越多时,应用之间交互必不可少,将核心业务抽取出来,作为独立服务,形成稳定服务中心,实现业务复用率,此时用于整合的分布式服务框架是关键,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第3张图片

(4)流动计算架构

当服务越来越多时,小服务资源浪费严重,此时需要增加一个调度中心基于访问压力管理集群容量,提高集群利用率,此时用于管理集群的调度中心是关键,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第4张图片

 

6、RPC

RPC指远程调用过程,是一种进程通信方式,允许程序调用另外一个地址空间的过程,而不用程序编码显示这个调用过程。

7、高并发

(1)概念

同一时间内,有大量用户同时访问同一个接口,经常发生在有大量活跃·用户聚集高的业务中。

如:双十一秒杀活动,在秒杀开始时有大量请求进行秒杀操作

(2)衡量指标

①响应时间:请求做出响应时间,即请求放回所用时间。

如:用户搜索资料时,资料显示到界面展示给用户所用时间即响应时间

②吞吐量:系统在单位时间内处理的请求数。

③QPS:每秒请求数。

④TPS:每秒事务数。

⑤并发用户数:系统使用正常情况下,可以接受的最大用户数量。

如:一个系统并发用户数为100,当用户超过100时,系统则会出现问题。 

8、高可用

(1)概念

通过设计减少服务不可用时间,提高服务可用性。

(2)主—备方式

 一台服务器处于业务激活状态,另外一台服务器处于该业务备用状态,对于访问量大的业务,通常会将主服务器和备用服务器进行集群。

如:支付业务,主服务器宕机,备服务器会立马变为主服务器,供用户继续支付功能。

(3)双主机方式

两种不同业务分别在两台服务器上互为主备状态。

如·:订单业务在服务器1上, 支付业务在服务器2上,服务器1同时为支付业务的备份服务器,服务器2同时为订单业务的备份服务器。

9、注册中心

保存某个服务所在地址信息,方便调用者实时获取其他服务信息。

如:房中介可以看为注册中心,房东在房中介注册出租房信息,房客在房中介注册租房信息,这样房客可以在房中介查看房屋信息,进而租房。

 10、负载均衡

(1)概念

动态以某种策略将请求分发给比较空闲服务器。

(2)策略

①轮询:将请求依次轮流发给服务器。

②加权轮询:按照权重将请求发给服务器,权重大,分发请求越多。

③随机:随机将请求分发给服务器。

④哈希:用户请求指定分发给指定服务器,相同请求访问的服务器相同。

11、服务雪崩

服务之间复杂调用,一个服务不可用,导致全体服务不可用,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第5张图片

12、熔断

某个服务频繁不可用时,直接将其熔断,返回事先准备好的虚拟值,如下图:

SpringCloud相关概念——面试高频(图解+例子)_第6张图片

 13、限流

限制某个服务每秒调用本服务的频率。

如:若黑客使用程序频繁访问系统服务,会使系统崩溃,这时通过限流,减少对服务的访问量,保护系统。

14、网关

网关作为内网与外网的入口,起着所有服务路由转换工作,对系统内网起保护作用。 

如:我们访问系统服务时,一般是暴露网关ip,隐藏服务ip,对服务起保护作用。

15、服务跟踪

追踪服务调用链,记录整个系统执行过程。 

16、弹性云

动态扩容,压榨服务器闲时时间

如:淘宝双十一活动,此时1用户访问量巨大,会多配置多台服务器,等待高峰期过,立马恢复原有服务器数量。

 喜欢的小伙伴可以关注我的springCloud专栏,持续更新~

 

你可能感兴趣的:(springCloud,面试,spring,cloud,java,后端)