什么是微服务?

答:微服务强调的是单个服务应用的大小,它关注的是整个应用的某一个点,提供实现对应业务的服务应用,每个微服务都是运行在自己的进程中,它们通过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以及四大神兽面试涉及知识总结(持续更新)相关推荐

  1. 机器学习面试经验--2017年持续更新

    机器学习面试经验--2017年持续更新 搜狐面试算法实习生 岗位搜狐后台开发(机器学习NLP) 10:00--11:10 1.首先自我介绍,blabla简单介绍了一下本科研究生学校专业方向,面试官开始 ...

  2. pwn学习总结(四)—— 堆基础知识(持续更新)

    pwn学习总结(四)-- 堆基础知识(持续更新) 前言 chunk 使用中(分配后) 空闲中(释放后) 堆块大小 空间复用 bins fastbin unsorted bin small bin 前言 ...

  3. pwn学习总结(二) —— 基础知识(持续更新)

    pwn学习总结(二) -- 基础知识(持续更新) Canary PLT表&GOT表 格式化字符串漏洞 GCC编译参数 ASLR 危险函数 输入流 syscall条件 shellcode 其它 ...

  4. 关于keil的一些基础知识(持续更新)

    #关于keil的一些基础知识(持续更新) 1.数据类型转换 (1)写程序的时候需要将一个32位16进制数值转换到10进制显示在TF屏上,由于基础比较烂,一直没有想明白,写了各种复杂的类型转换.. 代码 ...

  5. 机器学习岗面试题目汇总「持续更新」

    机器学习岗面试题目汇总「持续更新」 前情提要 交叉熵损失为什么要取log?

  6. 【游戏客户端与服务器面试题】-- 2022年最新游戏客户端与服务器面试(lua篇持续更新)

    [游戏客户端与服务器面试题干货]-- 2022年度最新游戏客户端面试干货(lua篇) 文章目录 一.Lua的8种数据类型 (1) nil 类型 (2) boolean类型 (3) number类型 1 ...

  7. Java工程师进阶知识(持续更新)

    生生不息,"折腾"不止:Java晋升指北,让天下没有难学的技术:视频教程资源共享,学习不难,坚持不难,坚持学习很难: >>>> 文章内容大部分来自小编的学习 ...

  8. [GCN] 图卷积知识梳理 -持续更新

    图卷积知识梳理 文章目录 图卷积知识梳理 1. 为什么 Graph Laplacian L=D−AL=D-AL=D−A --差分的方式理解 2. 为什么是 Graph Laplacian LLL -- ...

  9. Java面试常问基础知识(持续更新)

    欢迎关注我的知乎专栏[数据池塘],专注于分享机器学习,数据挖掘相关内容:HTTPS://zhuanlan.zhihu.com/datapool 本文中的知识都是我自己或同学在面试过程中常被问到的,在此 ...

  10. Java面试知识(持续更新)

    (欢迎各位大佬添加新的面试知识,本文纯属博主手打,如有错误,欢迎各位大佬批评在下方,小弟一定及时改正) 基础篇 1.一个".java"源文件可以有多个类,但只能有一个public类 ...

最新文章

  1. jsp(3,6,9) EL表达式及JSTL
  2. dojo Quick Start/dojo入门手册--面向对象,定义Class
  3. linux 自动安装mysql数据库_Linux安装MySql数据库
  4. python网页开发好用吗_推荐用于Web开发的最好 Python 框架
  5. 马尔科夫随机场之图像去燥【Matlab实现,PRML例子】
  6. Cent OS home下中文目录改成英文目录
  7. i7 6700k linux,i7-6700k超频至4.8G最稳定 i7-6700K开盖液态金属测试
  8. xdp-ebpf 简介
  9. 运维工具之轻量级自动化运维工具Fabric源码安装
  10. 【平面设计】ACDSee5.0软件安装教程
  11. 对象转json字符串(带转义字符)
  12. 金蝶k3 与用友ncc凭证同步
  13. dbpedia知识图谱java_一种基于DBpedia的水务领域概念知识图谱构建方法与流程
  14. 网关短信php,通过ICQ网关发送手机短信的PHP源程序-PHP教程,PHP应用
  15. Springboot项目全局异常统一处理
  16. 慧驱动正弦高频注入FOC学习笔记
  17. 11、pytest -- 测试的参数化
  18. Python之pandas:利用describe函数统计【类别型】特征/离散型变量的描述性统计信息(包括个数count、unique、top及其freq、first、last)之详细攻略
  19. 车载摄像头软件的技术分布
  20. 利用python爬取淘宝的商品图片

热门文章

  1. 七种常见的电子邮件安全协议简析
  2. 出口美国的电动自行车UL2849测试和GCC检测标准
  3. JWT的数字签名的简单理解
  4. uniapp扫描二维码问题
  5. (数据结构)线性表(总结)——链式存储结构与顺序储存结构的优缺点
  6. linux下设置双系统选项,linux双系统【操作步骤】
  7. yy号,你以为你是QQ号么?
  8. scratch五彩缤纷多瓣花 电子学会图形化编程scratch等级考试二级真题和答案解析2021-6
  9. Netty系列之Netty高性能之道
  10. 最短路径Floyd算法【图文详解】