搞清楚Spring Cloud的这4个点,轻松应对面试官!

告别复杂配置:利用原生DDNS实现IPv6直连群晖的极简指南 本文详细介绍了如何利用原生DDNS实现IPv6直连群晖NAS的极简方法,告别复杂配置。从检查IPv6网络环境、路由器防火墙设置到群晖DDNS配置,一步步指导用户完成设置,并分享移动网络下的使用体验和安全防护建议,帮助用户轻松实现远程访问。 阅读详情

01 大的单体项目

以前我们做单机系统的时候,所有的代码都在一个项目里面,只是不同的模块按照包名来划分的。我们以前做的一个某省的教育项目,有学生信息和就业系统、有高校培训系统、有一个人资系统等一共六个,4个小伙伴都在一个代码里面进行开发,各个系统之间有一定的联系,但是大部分是不相关的,但管理页面在一起。 那时候我们都在一个项目里面码代码,每次启动好几分钟,还有就是包版本冲突问题,搞得真是头疼。大家经历过大型的单体项目开发,相信你有体会的。 还有各系统的使用量也不一样,有的比较大。比如学生信息和就业系统,面向的是所有高校,特别是快毕业那段时间,每个学校会上报就业率等信息,还有就是打印报到证呀什么的。有的系统就使用比较少,比如人资、培训系统 使用的基本上就教育厅的一些员工,和部分老师,流量不大,勉强能扛得住。

 

02 模拟业务背景

大点的企业,比如做电商的,用户几十万的,日活几万的,背后好几十人上百人的团队在支撑开发,单体系统就不太合适了。 比如现在有一个下单买东西的需求,就需要订单系统、库存系统、仓库系统和积分系统 等来进行处理。如下图:

 

订单系统、库存系统、仓储和积分系统都是部署到不同的机器上的。 当用户下单了,那么订单服务会发进行扣件库存、通知仓储系统要发货、通知积分系统累加积分的操作。 如果我们此时需要用到 Spring Cloud 来做一个分布式架构的话,那么我们需要什么东西呢?每个东西都是干嘛的呢?

 

03 如果使用 Spring Cloud 来实现,需要哪些组件?

(1)Eureka

首先,我们需要一个注册中心 Eureka ,主要负责每个服务的注册和发现。 每个微服务中都有一个Euraka client组件,专门负责将这个服务的服务id(serviceId)、ip、端口等信息注册到Eureka server中。 Euraka Server是一个注册中心,该组件内部维护了一个注册表,保存了各个服务所在的机器ip和端口号等信息。

(2)Feign

其次每个服务还需要一个远程服务调用的组件 Feign ,他主要负责与其他服务建立连接,构造请求,然后发起请求来调用其他服务来获取数据。

(3)Ribbon

然后我们一个服务可能会部署很多台机器,那么我们使用Feign 去调用这个服务的时候,到底把请求发送到哪台机器上去呢?此时我们就需要一个组件来根据一定的策略来选择一台机器。不管怎么选的,总之得选一台机器给 Feign 去调用就好了。 这个组件就是 Ribbon,Ribbon 主要负责就是负载均衡。Ribbon 会定期去从Eureka 注册中心拉取注册中心,缓存到本地,每次发起远程调用的时候,Ribbon 就会从 Eureka 注册表拉取下来的数据中挑选一个机器让 Feign 来发起远程调用。

(4)Zuul

我们这么多的微服务,如果一个服务一个IP,使用方都需要进行调用的话,是不是得知道每一个服务的IP地址才行呢?那得记住多少才行呀,多不好管理。 如果有一个统一的地址,然后根据不同的请求路径来跟我进行转发多少是不,比如 /user/* 是转发到用户服务 ,/product/* 是转向到商品服务等等。我使用的时候,只需要访问同一个IP ,只是路径不一样,就行了。 Spring Cloud 也给我们提供了一个组件,那就是 Zuul ,他是一个网关,就是负责网络的路由的。每个请求都经过这个网关,我们还可以做统一鉴权等等很多事情。

(5)Hystrix

还有一个东西也得说一下,就是 Hystrix,它是一个隔离、熔断以及降级的一个框架 。 在微服务的相互调用过程中,可能会出现被调用服务错误或者超时的情况,从而导致整个系统崩溃不可用,也就是我们常说的服务雪崩问题,Hystrix 的存在就是为了解决这种问题的。

 

04 整体架构

我们按照以上使用到的这些组件,来往下单这个流程来套一下:

 

整个调用流程:

  • 首先每个服务启动的时候都需要往注册中心进行注册。

  • 用户先对网关发起下单请求,网关收到请求后发现呃,是下单操作,要到订单系统,然后把请求路由到订单系统。

  • 订单系统啪啦啪啦一顿操作,然后通过 Feign 去调用 库存系统减库存,通知仓储服务发货,调用积分系统加积分。

  • 在发起调用之前,订单系统还得通过Ribbon 去注册中心去拉取各系统的注册表信息,并且挑一台机器给 Feign 来发起网络调用。

 

05 总结

OK,以上就是整个Spring Cloud 的核心架构了,面试题额,别错过了,朋友。这只是给大家一些普及,面试的时候遇到了可以这么去说的。

 

Spring Cloud微服务面试题

回过头来再看看这8道Spring Cloud微服务面试题你能回答对几道?

1.什么是 Spring Cloud?

2.使用 Spring Cloud 有什么优势?

3.服务注册和发现是什么意思?Spring Cloud 如何实现?

4.负载平衡的意义什么?

5.什么是 Hystrix?它如何实现容错?

6.什么是 Hystrix 断路器?我们需要它吗?

7.什么是 Netflix Feign?它的优点是什么?

8.什么是 Spring Cloud Bus?我们需要它吗?

 

 

 

virtuoso--DFF 27-实验课-std_cell2 阅读详情

相关推荐

【SpringCloud常见面试题】

Redis结合了定期删除和惰性删除,基本上能很好的处理过期数据的清理,但是实际上还是有点问题的,如果过期key较多,定期删除漏掉了一部分,而且也没有及时去查,即没有走惰性删除,那么就会有大量的过期key堆积在内存中,导致redis内存耗尽,当内存耗尽之后,有新的key到来会发生什么事呢?基本思路:基于key访问次数(LFU)的热度统计算法识别出热点数据,并将热点数据保留在redis中,对于无访问/访问次数少的数据则转存到SSD上,如果SSD上的key再次变热,则重新将其加载到redis内存中。

BridgeCloud的博客 2万+

【IIC通信】Chap.1(I2C)IIC通信原理、IIC读写时序详解

IIC通信以两根连线SDA、SCL实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。

Jie_MSD的博客 2万+

35道 Spring Cloud 经典面试题,看完轻松拿offer~

本文是技术面试系列SpringCloud篇,面试中关于SpringCloud都需要了解哪些基础?一文带你详细了解,欢迎收藏!

小斜同学的博客 1万+

一觉醒后ChatGPT 被淘汰了

近日,AI 界貌似出现了一种新的趋势:自主人工智能。这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」

Rocky006的博客 13万+

详解AUTOSAR:DaVinci Configurator配置CAN和UART数据协议解析器(RH850)(实战篇—1)

通过学习本篇博文项目,将会把所学的DaVinci Configurator知识系统串联起来。

不脱发的程序猿 2816

springcloud常见面试题(2024最新)

springcloud常见面试题(2023最新)

酷酷的馫博客 6万+

C++ 图像线特征提取(CannyLine算法+opencv3.4.6)

C++ 图像线特征提取(CannyLine算法+opencv3.4.6)

weixin_43896283的博客 1084

SpringCloud面试题(必看)

一、微服务架构四个核心问题?二、微服务优缺点三、为什么要选择cloud做微服务架构四、cloud深入了解1、所有实体类必须实现序列化,传输汇报错误2、热部署 spring-boot-devtools3、请求接口 Get/postForObject4、RestTemplate{请求接口地址,参数,返回值类型}5、需要通过bean把接口注入进去五、Eureka注册中心六、Ribbon负载均衡七、负载均衡类型八、FeignClient(注入服务名,让别的服务能获取到你的方法)Component FeignClie

海的那边,还是海吗 1万+

【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读

AUTOSARAutomotive Open System Architecture,汽车开放系统架构,由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,致力于制定汽车电子软件标准的联盟。网络管理网络管理的目的是使网络中的ECU节点有序的睡眠和唤醒。在没有通信需求的时候睡眠,在需要通信的时候唤醒,可以节约汽车电池的电量。

测试领域技术分享 5170

yolo 图像检测、关键点检测单摄像头测量物体尺寸长度大小

new_distance/real_size (待求物体像素距离与实际距离比值)= distance / metric_length (参照物像素距离与实际距离比值)然后运行size_demo进行要测量的物体进行关节点检测距离;metric_length是上面耳机选取的两个点的实际物理距离,大概6cm;这里用的windows。通过关键点检测识别物体关键点的像素距离,然后参考比例尺计算实际距离。2)关键点算法这里用的现有的进行测试,实际场景需要自己训练。这里拿这模型推理出的关键点坐标进行后续长度计算。

weixin_42357472的博客 2528

300道SpringCloud面试题及答案(最新整理)

最新SpringCloud面试题及答案【附答案解析】SpringCloud面试题及答案,SpringCloud最新面试题及答案,SpringCloud面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的。这些答案难免会存在一些错误,仅供大家参考。如果发现错误还望大家多多包涵,不吝赐教,谢谢~ 如果不背 SpringCloud面试题的答案,肯定面试会挂! 这套SpringCloud面试题大全,希望对大家有帮助哈~ 博主已将以下这些面试题整理成了一个Java面试手册,是PDF版

架构师专栏 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

搞清楚Spring Cloud架构原理的这4个点,轻松应对面试官

前言现在分布式系统基本上都是标配了,如果你现在还在玩儿单机,没有接触过这些东西的话,权当是为你打开一扇新的大门吧。大的单体项目以前我们做单机系统的时候,所有的代码都在一个项目里面,只是不同的模块按照包名来划分的。我们以前做的一个某省的教育项目,有学生信息和就业系统、有高校培训系统、有一个人资系统等一共六个,4个小伙伴都在一个代码里面进行开发,各个系统之间有一定的联系,但是大部...

biea92843的博客 130

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

芋道 Spring Cloud Alibaba 分布式事务 Seata 入门:面试官,我来带你飞!

在微服务架构中,分布式事务是一个绕不开的话题。随着业务的复杂度增加,多个服务之间的数据一致性问题变得尤为关键。Seata 作为一款高性能的分布式事务解决方案,为 Spring Cloud Alibaba 提供了强大的支持。本文将从初学者的角度出发,深入浅出地讲解如何在 Spring Cloud Alibaba 中使用 Seata 实现分布式事务管理,并提供面试回答思路和答案,帮助你轻松应对校招面试。回答思路:定义:分布式事务是指在分布式系统中,跨越多个服务或数据库的事务。

shaozheng0503的博客 1240

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java面试实录:从JVM调优到Spring Cloud实践

这个嘛,简单来说,我觉得Spring Boot就是用来快速构建单体服务或者微服务项目的,而Spring Cloud则是提供了一整套解决方案让你能够更容易地实现微服务架构下的各种功能,比如服务发现啊、负载均衡啥的。: 哈哈,说到这个我就来劲了!我呢,就去调整了一下堆内存大小、新生代老年代比例这些参数,然后观察效果再做调整。我们已经对你有了一个初步的了解,接下来我们会综合考虑所有候选人的情况,一旦有结果会第一时间通知你。: 很好,你已经抓住了两者的核心区别。

优快云_LiMingfly的博客 760

Spring + Spring Boot + Spring Cloud 常见面试题

的常见面试题,从 IOC/AOP 到自动配置、微服务组件都有涉及。

weixin_43016432的博客 684

Spring Cloud 微服务实战:网关那些事儿

如果你觉得这篇文章对你有所帮助,欢迎关注我的技术博客或加入我的学习社群(在评论区留言或私信我),在这里你可以获取更多 Spring Cloud 微服务相关的学习资料和实战经验分享!通过本文的实战演练,相信你已经对 Spring Cloud 网关的核心功能、常见面试场景以及优化技巧有了全面的了解。网关的设计不仅需要扎实的技术功底,还需要对业务场景有深刻的理解。本文将结合实战场景,手把手教你如何设计一个高性能、高可用的网关,并通过代码示例解析大厂面试中的常见问题。通过网关的路由规则,我们可以轻松实现灰度发布。

Leaton的博客 1193

Java面试实战:电商场景下的Spring Cloud微服务架构与缓存技术剖析

在一家知名互联网大厂的Java开发岗位面试中,谢飞机作为求职者,面对了严肃的面试官。以下是他们之间的对话。第一轮提问谢飞机回答:第二轮提问谢飞机回答:第三轮提问谢飞机回答:面试官总结:感谢你的回答,我们会尽快通知你面试结果。

sinat_26229211的博客 358

Java求职面试:从Spring到微服务的技术挑战

面试官:严肃认真的技术主管,经验丰富,精通各种技术栈。小张:搞笑的水货程序员,刚毕业,对技术有初步了解,但缺乏深入掌握。

Elevenmao的博客 971

Java大厂求职谢飞机:从Spring Boot到Redis,面试官问到我怀疑人生!

Java 8 default方法、自动装配机制、Swagger API文档生成。数据库与ORM:Hibernate vs MyBatis、动态SQL、Redis缓存、Redis分布式锁。微服务与云原生:Spring Cloud Alibaba、链路追踪、Prometheus监控。大数据处理:ELK日志采集、Kafka传输、Elasticsearch存储与检索。

qq_54002085的博客 432

2021年Spring微服务高级面试题及答案,轻松搞定大厂面试官

前言 最近针对互联网公司面试问到的知识点,总结出了Java程序员面试涉及到的绝大部分面试题及答案分享给大家,希望能帮助到你面试前的复习且找到一个好的工作,也节省你在网上搜索资料的时间来学习。 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ、Kafka、Linux等技术栈。 完整版Java面试题地址:JAVA后端面试题整合 1、您对微服务有何

weixin_56667968的博客 1491

互联网大厂Java面试:Spring Cloud、数据库优化与Spring Security实战

面试是一个双向选择的过程,通过本篇文章的案例,希望广大求职者能够掌握核心技术点,提高应对能力。同时也提醒大家,面试的关键在于逻辑清晰和细节准确。

qq_34968019的博客 336

炸了!Spring Cloud 2025 王炸更新微服务就业必看,面试问爆不慌

适配云原生+提升性能+简化开发,5大主流组件的更新,每一个都贴合企业实战需求,也是面试高频考点,掌握这些,既能快速适配企业生产环境,也能在面试中脱颖而出。面试核心技巧:回答相关问题时,不要只背更新点,一定要结合“企业场景+实操配置”,比如讲解Nacos更新时,要说明它解决了企业高并发注册的痛点,同时说出gRPC长连接的配置方式;讲解Gateway时,要提及虚拟线程的启用方法和优势,这样才能体现你的实战能力,避开“只会背理论”的标签。

雨辰AI的博客 743

大神又来了!400分钟撸一个Spring Cloud Alibaba架构

“预计到2021年,全球云微服务市场将以22.5%的速度增长,其中美国市场预计将保持27.4%的增长速度。专家还预测,到2022年,90%的应用程序将使用微服务架构开发。”上图是Spri...

芋艿V 352

Java大厂面试攻略:Spring Cloud与微服务架构的深度探讨

Spring Cloud是一个基于Spring Boot的框架,用于快速构建分布式系统中的微服务架构。它提供了一系列工具和组件,比如服务注册与发现(Eureka)、负载均衡(Ribbon)、服务网关(Zuul)、分布式配置中心(Spring Cloud Config)等。

Elevenmao的博客 1065

阿里内部Spring Cloud Alibaba 手册, 面面俱到,太全了!

Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。上面这份学习笔记足以帮助很多小伙伴来学习 Spring Cloud Alibaba 了!

Java架构师之路的博客 620
上一篇: 你的代码优化了吗?分享一波七个优化代码的小技巧
下一篇: 面试官:服务器安装JDK还是JRE?可以只安装JRE吗?
加班不秃顶
博客等级 码龄7年 1822粉丝 599原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值