返回顶部
首页 > 资讯 > 后端开发 > JAVA >SpringCloud面试题(必看)
  • 185
分享到

SpringCloud面试题(必看)

springcloudjava微服务 2023-09-04 17:09:03 185人浏览 八月长安
摘要

一、微服务架构四个核心问题? 1、服务很多,客户端怎么访问 2、这么多服务,服务之间如何通信 3、这么多服务,如何治理 4、服务挂了怎么办 二、微服务优缺点 优点 1、单一职责 2、每个服务足够内聚,足够下小,代码

一、微服务架构四个核心问题?

1、服务很多,客户端怎么访问

2、这么多服务,服务之间如何通信

3、这么多服务,如何治理

4、服务挂了怎么办


二、微服务优缺点

优点

1、单一职责

2、每个服务足够内聚,足够下小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求

3、开发简单,开发效率高,一个服务可能就是专一的干一件事

4、微服务能够被小团队单独开发,可以是2-5人组成

5、微服务是松耦合,是有功能意思的服务,无论是在开发解读那还是部署阶段都是独立

6、微服务能使用不同的语言开发

7、每个服务都是自己的存储能力

缺点

1、开发人员要处理分布式系统的复杂行

2、随着服务的增加,运费的压力也增大

3、系统部署依赖

4、服务间的通信成本

5、数据一致性

6、系统集成测试

7、性能监控


三、为什么要选择cloud做微服务架构

1、整体解决方案和框架成熟度

2、社区热度

3、可维护性


四、cloud深入了解

1、所有实体类必须实现序列化,传输汇报错误

2、热部署 spring-boot-devtools

3、请求接口 Get/postForObject4、RestTemplate{请求接口地址,参数,返回值类型}

5、需要通过bean把接口注入进去


五、Eureka注册中心

1、理念:Eureka:服务注入,显示当前已有的服务,自我保护机制:好死不如赖活着,宁可同时保留所有的服务,也不盲目的注销监看的服务,自我保护机制也可以关闭

2、client.getServices获取微服务列表,getInstances根据服务名字获取服务信息

3、CAP原则:c:强一致性,a:可用性,p:分区容错性,ca:单点集群,满足一致性,可用性的系统,通常可扩展性较差,ap:满足一致性,分区容错性的系统,通常性能不是特比高,cp:满足可用性,分区容错性的系统,通常可能对一致性要求低

4、ACID原则:a:原子性,c:一致性,I:隔离性,d:持久性

5、ZooKeeper:保证cp原则:容忍注册中心返回几分钟以前的信息,但是不能容忍服务直接死掉,当master节点失去联系回重新选择master节点,选取时间过长,服务期间不能使用,

6、Eureka:保证ap原则:各个节点平等,其中一个节点死掉也会正常运行,只不过信息可能不是最新的,如果在15分钟内超过85%的节点没有正常心跳,会采取一下措施

a:不会从列表中移除

b:任然能够接受新服务的注册和查询请求,但是不会被同步到其他节点上

c:当前网络稳定时,单前实例新的注册信息会被同步到其他节点中

总结:Eureka可以很好的应对因网络故障导致的部分节点失去联系的情况,而不会像zookeeper那样使整个注册服务瘫痪


六、Ribbon负载均衡

1、cloud ribbon是基于netflix ribbon实现的一套客户端负载均衡工具,提供客户端的软件负载均衡算法,将netflix的中间层链接起来,配置项:丽娜姐超市,重试,ribbon会自动的帮你基于某种规则如(单轮询,随机链接),

2、ribbon能干嘛

将用户的请求平均分配到,多个服务上,从而达到系统的HA

3、常见的负载均衡软件,Nginx,lvs

4、dubboSpringCloud中均给我提供了负载均衡,cloud的负载均衡算法可以自定义

5、依赖:cloud-starter-ribbon,cloud-starter-eureka

6、原先Eureka是指定服务链接,现在是指定服务名字

7、LoadBalanced 开启负载均衡


七、负载均衡类型

1、RoundRobinRule 轮询

2、RandomRule随机

3、AvailabilityFilteringRule 先过滤掉故障服务,对剩下的服务进行轮询

4、RetryRule 先按照轮询获取服务,如果服务获取失败,则会在指定时间内进行重试

5、负载均匀用法 @Configuration @Bean 外加算法

自己写的不能与主应用程序统计目录,因为会被@ComponentScan扫描到

6、RibbonClient(name="服务名称", configuration = 负载均衡算法类名.class)

7、随机服务源码

八、FeignClient(注入服务名,让别的服务能获取到你的方法)

Component FeignClient(vlaue="服务名")

启动类:@EnableFeignClients 扫描FeignClient @COmponentScan让所有的注解都生效

来源地址:https://blog.csdn.net/yanghezheng/article/details/126728858

--结束END--

本文标题: SpringCloud面试题(必看)

本文链接: https://www.lsjlt.com/news/393930.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringCloud面试题(必看)
    一、微服务架构四个核心问题? 1、服务很多,客户端怎么访问 2、这么多服务,服务之间如何通信 3、这么多服务,如何治理 4、服务挂了怎么办 二、微服务优缺点 优点 1、单一职责 2、每个服务足够内聚,足够下小,代码...
    99+
    2023-09-04
    spring cloud java 微服务
  • 必看Android500道高薪面试题集
    前言“你在南方的艳阳里,大雪纷飞;我在北方的寒夜里,四季如春”太冷了,最近我的脑袋里循环这首歌真心想吐槽,南方的化学攻击太强大,我,自认为是个身体比较健壮的女孩子,居然也在新一波降温中了招,感冒反反复复持续一个星期还没有好全。身体为重嘛,我...
    99+
    2023-06-04
  • JavaScript必看的10道面试题总结(推荐)
    1.this指向 1.谁调用指向谁 例: function foo(){ console.log("this",this); } n...
    99+
    2024-04-02
  • Java泛型常见面试题(面试必问)
    目录1、泛型的基础概念1.1 为什么需要泛型1.2 什么是泛型2、泛型的定义和使用2.1 泛型类\泛型接口2.2 泛型方法2.3 泛型类的继承2.4 类型通配符?及其上下限1...
    99+
    2024-04-02
  • 「面试必背」Linux面试题(2022最新版)
    作为 Java 的从业者,在找工作的时候,一定会被问及关于Linux 相关的知识。Linux知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。在这里我们将详细的整理常见的Linux面试题目, 提供给大家学习参考。 1. 什...
    99+
    2023-09-04
    java 后端
  • Python开发面试题:面试中 8 个必考问题
    ‘’金三银四‘’工作的人没有不知道的吧,其实7月也是跳槽面试的高峰期,咱们的学生大军也加入了找工作的浪潮。这里根据经验和实际情况总结了一下在Python面试中,关于Python开发面试题必考的8个问题,有需要的小伙伴,敲黑板认真看哦!...
    99+
    2023-06-02
  • 45 个必知必会的 PHP 面试题
    本篇文章给大家总结了45 个必知必会的 PHP 面试题 。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。php零基础到就业直播视频课:进入学习程序员必备接口测试调试工具:立即使用Q1: == 和 === 之间有什么区别?#...
    99+
    2024-04-02
  • 【2022最新Java面试宝典】—— SpringCloud面试题(49道含答案)
    目录 Spring Cloud1. 什么是微服务架构2. 为什么需要学习Spring Cloud3. Spring Cloud 是什么4. SpringCloud的优缺点5. SpringBoot和SpringCloud的区别?6....
    99+
    2023-08-18
    SpringCloud 面试
  • Redis必备面试题《难点篇》
    Date:2019-11-12 读前思考:     redis每次必问的问题,在大脑里面先回想一下,能否答出一二?        题1:Redis雪崩了解么?   题2:了解Redis缓存穿透和击穿么?   题3:你知道Redis缓存雪崩、...
    99+
    2014-08-28
    Redis必备面试题《难点篇》
  • Redis必备面试题《基础篇》
    Date:2019-11-12 读前思考:   面试官会问什么样的问题?   所问的问题背后真实的套路是什么?   喜欢问Redis哪些问题?   如何顺畅回答面试问的问题?吊打面试官。   什么是Redis?   Redis相比memca...
    99+
    2015-12-04
    Redis必备面试题《基础篇》
  • AJAX必会面试题有哪些
    这篇文章主要为大家展示了“AJAX必会面试题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AJAX必会面试题有哪些”这篇文章吧。1、什么是AJAX,为什么...
    99+
    2024-04-02
  • Vue必备面试题有哪些
    小编给大家分享一下Vue必备面试题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言Vue框架部分我们会涉及一些高频且有一...
    99+
    2024-04-02
  • GO必知必会的常见面试题汇总
    目录引言值类型和引用类型值类型有哪些引用类型有哪些?值类型和引用类型的区别?垃圾回收一图胜千言堆和栈栈堆切片比较比较的详解深拷贝和浅拷贝操作对象区别如下:new和makenew特点举...
    99+
    2024-04-02
  • PHP开发技术教程,面试前必看!
    PHP是一种广泛使用的服务器端脚本语言,用于开发Web应用程序。由于其易学易用、开发效率高等特点,PHP已成为Web开发的主流语言之一。如果你正在准备PHP开发的面试,那么本篇文章将为你提供一些必备的技能和知识。 PHP基础语法 PH...
    99+
    2023-06-19
    面试 开发技术 教程
  • 运维面试必看的20个短问答
    如何将本地80端口的请求转发到8080端口?当前主机ip为192.168.2.1 iptables -t nat -A PRETOUTING -d 192.168.2.1 -p tcp –dprot ...
    99+
    2023-09-04
    运维 面试 php
  • web前端工程师面试题10条必会笔试题
    布局 左边20% 中间自适应 右边200px 不能用定位答案:圣杯布局/双飞翼布局或者flex什么叫优雅降级和渐进增强?渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的...
    99+
    2023-06-05
  • 经典java面试题_实习生必问!
    经典java面试题_实习生必问!第一,谈谈final, finally, finalize的区别。final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstr...
    99+
    2020-03-21
    java面试题 java
  • Linux运维MySQL必会面试题100道
    1.开启MySQL服务 2.检测端口是否运行 3.为MySQL设置密码或者修改密码。 4.登陆MySQL数据库。 5.查看当前数据库的字符集 6.查看当前数据库版本 7.查看当前登录的用户。 8.创建GBK...
    99+
    2024-04-02
  • Python必考的5道面试题集合
    1、使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100的和 #方法一 #从2开始计算 i = 2 #定义一个变量用于保存结果 sum=0 while i...
    99+
    2024-04-02
  • [译]Python面试中8个必考问题
    1、下面这段代码的输出结果是什么?请解释。 def extendList(val, list=[]): list.append(val) return list list1 = extendList(10) list2 ...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作