深入解析:springcloud相关知识复习

1.springcloud五大组件

网关gateway,负载均衡Ribbon,注册中心/配置中心Nacos, 服务调用Feign, 服务保护 Sentinel

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

我们当时采用Nacos作为注册中心,是SpringCloudAlibaba的一个核心组件
1.服务注册:服务提供者应该把自己的信息注册到nacos,比如服务名称,IP端口等等
2.服务发现:消费者向nacos拉取服务列表信息,若是服务提供者有集群,则消费者就会用负载均衡算法,选择一个发起调用
3.服务监控:服务提供者回每5s向nacos发送心跳,保持自己的健康状态。非临时实例nacos会主动检测状态,临时实例状态不正常会被剔除,非临时实例不会被剔除

3.如果想自己定义负载均衡策略如何实现?

1.创建类实现IRule接口,允许指定负载均衡策略(全局)
2.在yaml配置文件中,行安装某一个服务调用的负载均衡策略(局部)

4.什么是服务雪崩?如何消除这个问题?

服务雪崩:一个服务失败,导致整个链路都失败的情况
服务降级:服务自我保护的一种方式,一个和feign接口整合,编写降级逻辑
服务熔断:默认关闭,需要手动打开,若是检测到10秒内请求失败率超过百分之50,就触发熔断机制,之后每隔5s重新尝试请求服务,如果微服务不能响应,继续走熔断机制

5.微服务是怎么监控的?

项目中采用skywalking进行监控。
1.skywalking可以监控接口,微服务,物理机的状态,独特是压力测试的时候,可以看到众多服务中哪些服务和接口比较慢,大家可以针对性的分析和优化
2.skywalking允许设置告警规则,项目上线后,如果把偶哦,可以分别给相关负责人发短信和邮件第一时间知道项目的Bug情况,第一时间修复。

6.计划如何做限流,怎么做的?

nginx限流,运用漏桶算法实现过滤,以固定的速率处理请求,可以应对突发的流量
网络限流,运用令牌桶算法,固定生成令牌的数量,拿到令牌的可以进行下一步请求

7.解释一下CAP和BASE理论

CAP(一致性,可用性,分区容错性)
1.分布式系统通过网络连接,一定会出现分区问题
2.分区出现时,系统的一致性和可用性就无法同时满足
BASE理论
1.基本可用2.软状态3.最终一致
1.最终一致思想:分分支事务分别提交,如果有不一致的情况,再想办法回复信息
2.强一致思想:各分支事务执行完业务不要提交,等待彼此结果,而后统一提交回滚

8.分布式事务如何应对的?

seata的XA模式,CP,相互等待各个分支事务提交,保证强一致性,性能差
seata的AT模式,AP,底层用undo log 达成,性能好
seata的TCC模式,AP,性能较好,不过需要人工编码实现
MQ模式实现分布式事务

9.分布式事务的接口幂等性如何设计?

通过幂等:多次调用方法或者接口不会改变业务状态,能够保证重复调用的接口和单词调用的结果一致。
1.分布式锁
2.token+redis实现,第一次请求,生成唯一token存入redis,返回给前端
第二次请求携带之前的token,存在的话执行业务,不存在的话,不处理业务

posted @ 2025-12-15 11:28  gccbuaa  阅读(11)  评论(0)    收藏  举报