我是靠谱客的博主 贪玩帽子,最近开发中收集的这篇文章主要介绍springcloud以及四大神兽面试涉及知识总结(持续更新),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是微服务?

答:微服务强调的是单个服务应用的大小,它关注的是整个应用的某一个点,提供实现对应业务的服务应用,每个微服务都是运行在自己的进程中,它们通过http restful通信机制进行交互,它们有自己的存储方式(也就是分库分表)

什么是微服务架构?

答:微服务架构可以说是一种架构模式或者是架构风格,它指的是将单体的应用拆分成多个微服务,每个微服务都是独立的运行在自己的进程中,它们通过http restful风格的通信机制进行相互通信与交互而形成的系统架构,对整体的业务进行解耦合,对业务粒度更细了,易于开发管理与日后维护与升级

springcloud是什么?

答:springcloud是一系列框架的有序集合,他利用springboot的开发便利性巧妙的简化了分布式系统的基础设施开发,例如服务注册与发现、断路器、负载均衡、配置中心、智能路由等

springcloud优缺点是什么?

  • 优点:
    1、业务之间的耦合度比较低,可以提交代码的复用性
    2、减轻团队的成本,可以并行开发,不用在乎他人负责的模块,只关注自己的业务实现
    3、在配置方面也比较简单,基本上可以使用注解搞掂
    4、微服务也是跨平台的,可以使用任何一种语言开发,因为它是基于http rest进行通讯的
    5、还有一个便利之处就是每个微服务可以有自己的独立的数据库

  • 缺点:
    1、微服务过多,治理成本高,不利于维护系统
    2、分布式系统开发的成本高(容错,分布式事务等)对团队挑战大

eureka是什么?

答:eureka是springcloud服务注册与订阅的服务器,eureka在提供服务的时候会与链接端保持心跳,eureka service可以对注册的服务进行监控,当心跳在一定时间内断掉,eureka会触发自我的保护机制,它不会马上把失去心跳的服务移除,当服务再次与eureka进行链接恢复心跳的时候,会马上退出自我保护机制

eureka与zookeeper的区别?

答:eureka和zookeeper都是服务注册与订阅的服务器,eureka是高可用与容错性(AP),zookeeper是一致性与容错性(CP),zookeeper的集群节点是主从模式,当主节点挂了,zookeeper会从从节点中进行选举,这个选举机制耗时严重,在此选举过程,zookeeper的注册与订阅服务是不可用的,这对于整个服务都非常的不友好,因为zookeeper需要保证服务的一致性,而eureka不一样,eureka每个节点都是同级的,当一个节点挂了,注册与订阅服务就会自动过滤掉挂掉的节点,从而实现服务的高可用。eureka本质上是一个工程,而zookeeper只是一个进程

ribbon是什么?

答:ribbon是客服端负载均衡的工具,拥有7中负载均衡的算法,比较常用的就是轮询与随机

ribbon是怎么进行工作的?

答:ribbon通过配置获取到集群请求地址列表,然后通过指定的负载均衡方式进行工作,ribbon也提供了irule,允许用户自定义负载均衡的方式

feign是什么?

答:feign是一个请求http轻量级的框架,也可以说是声明式的webservice客服端,feign基于java接口注解的形式请求http,同时也实现了ribbon的负载均衡,这样的模式更符合开发人员的开发风格

feign的工作原理与实现?

答:先导入pom依赖,然后在启动类开启feign客户端支持(@EnableFeignClient),然后在需求业务的接口上使用注解(@FeignClient),让启动类启动时,会扫面添加的注解,并放入容器中,当对应接口被调用时,通过jdk的代理生成requesTemplate,然后由requesTemplate生成接口对应的request交给client去处理,client请求方式默认是httpUrlConnection(可进行配置httpClient/okhttp),最后client被封装到LoadBalanceClient类,这个类结合了ribbon的负载均衡

hystrix的熔断机制?

答:熔断机制是应对雪崩效应的一种微服务链路保护机制,当扇出链路的某个微服务不可用或者响应时间太长时,会进行熔断该节点微服务的调用,向调用方法返回一个符合预期的、可处理的备选响应(FallBack),快速返回错误的响应信息,熔断机制是配置于服务端的防范机制

hystrix的服务降级?

答:服务降级就是把某些空闲或使用量少的服务暂时关闭,把整体资源空出来提供给使用量大的服务,等待使用量平缓了以后再开启关闭的服务,在关闭期间,hystrix会允许开发人员提供一套备选方案,让关闭的服务可以返回预选的结果,这样可以对用户有一个友好的交互,服务降级是应用在客户端的防范机制,降级的方式有三种:超时降级、线程池隔离、信号量隔离

zuul是什么?有什么用?

答:zuul包含了对请求的路由和过滤两个最主要的功能。
一、路由功能可以将请求转发到具体的微服务实例上,是实现外部访问统一入口的基础
二、过滤功能则是负责对请求的处理过程进行干预,实现请求校验,服务聚合等功能的基础
三:zuul和erueka整合,将zuul自身注册为eureka服务治理下的应用,同时从eureka中获取其它微服务的消息,所以访问微服务都是通过zuul跳转后获取的
四:最终zuul服务都会注册进eureka,提供了代理+路由+过滤三大功能

springcloud配置中心是什么?

答:Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用

最后

以上就是贪玩帽子为你收集整理的springcloud以及四大神兽面试涉及知识总结(持续更新)的全部内容,希望文章能够帮你解决springcloud以及四大神兽面试涉及知识总结(持续更新)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部