SpringCloud微服务面试题(一)

目录

1:什么是服务雪崩和服务限流

1.1、服务雪崩

1.2、服务限流

2:服务熔断和服务降级的区别

2.1、服务熔断

2.2、服务降级

相同点:

不同点:

3:微服务的优缺点

优点:

缺点:

4:如何保证微服务的敏捷开发

5:链路追踪

6:持续继承

7:AB发布

8:怎么拆分微服务

9:怎么设置高内聚、低耦合的微服务

10:DDD领域驱动设计是什么

11:什么是中台

12:注册中心的核心功能

13:谈谈配置中心

14:服务网关的作用

15:Seata的实现原理

16:微服务架构的排错



话不多说,直接上干货。

1:什么是服务雪崩和服务限流

1.1、服务雪崩

当A服务调用服务B,服务B调用服务C,此时大量的请求突然请求服务A,假如服务A本身扛得住这些请求,服务C扛不住,导致服务C请求堆积,从而服务B请求堆积,从而服务A不可用,这就是服务雪崩。

解决方案:服务降级和服务熔断。

1.2、服务限流

服务限流是指高并发请求下,为了保护系统,可以对访问服务的请求进行数量上的限制,从而防止系统被大量的请求压垮,在秒杀中,限流非常重要。

2:服务熔断和服务降级的区别

2.1、服务熔断

服务熔断指当服务A调用服务B时,服务B不可用,上有服务A为了保证自己不受影响,从而不再调用服务B,直接返回结果,减轻服务A和服务B的压力,直到服务B恢复。

2.2、服务降级

服务降级指,当发现系统压力过载时,可以通过关闭某个服务,或限流某个服务来减轻系统压力,这就是服务降级。

相同点:

1:都是为了防止系统崩溃

2:都让用户体验到某些功能暂时不可用

不同点:

熔断是下游服务触发的,降级是为了降低系统负载。

3:微服务的优缺点

微服务是由Martin Flowler大师提出的。微服务是一种架构风格,通过将大型的单体应用划分为较小的服务单元,从而降低整个系统的复杂度。

优点:

1、服务部署更灵活:每个服务都是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性降低。

2、技术更新灵活:在大型答题应用住,技术要进行更新,往往非常困难。而微服务可以根据业务特点,灵活选择技术栈。

3、应用性能提高:大型单体应用肿,往往启动就会成为一个很大的难题,耗时长,异常诱因多。二采用微服务之后,整个系统的性能是能够得到提高的。

4、团队组合容易:在单体应用时,团队成员往往需要多系统各部分深入了解,门槛很高,采用微服务之后,可以给每个微服务组件专门的团队。

5、代码复用:很多底层服务可以以REST API的方式对外提供统一服务,所有的基础服务可以在整个微服务系统中通用。

缺点:

1、服务调用的复杂性增高:网络问题,容错问题,负载问题,高并发问题。。。。

2、分布式事务:尽量不要使用微服务事务。

3、测试难度提升了

4、运维难度提升:单体架构只维护一个环境,而微服务是很多个环境,并且运维方式还不一样。所以对部署,监控,告警等要求会变得非常困难。

4:如何保证微服务的敏捷开发

单体架构:固定时间发布新版本,以分支的形式保存到代码库中,多需求情况下发布难。

微服务:服务应用功能单一,可以快速入职。

方法:

采用任务看板,站立会议的形式,避免无效的沟通。

团队人员灵活流动,同时形成各个专家代表。

测试变的复杂,之前统一的测试环境,微服务需要测试环境SIT,集成测试环境,压测环境STR,预投产环境,生产环境PRD。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值