20230326学习笔记

一、SpringCloud和springcloudAlibaba都有哪些组件。

SpringCloud:  提供构建微服务系统所需要的一组通用开发模式以及一系列快速实现这些开发模式的工具。

1. Spring cloud Netflix:

    Eureka: 服务注册。

    Feign:  rpc框架之一,http通信。

    Ribbon: 负载均衡。

    zuul:  智能路由。

    Hytrix: 熔断机制。

2、Spring cloud alibaba

     Nacos:服务注册发现;

     RocketMQ: 事件驱动。

     Message Bus: 消息总线。

     Sentinel: 时间窗口算法限流,熔断(慢调用,异常数,异常比例);

     Seata:  分布式事务。AT、TCC、Saga、XA

     Dobbo RPC:

常用组件:

1、配置/注册中心

nacos、eurake、consul、config。

2、网关路由

GateWay、Kong、Zuul。

3、链路追踪

Zipkin、Sleuth

4、RPC服务调用

Fegin、OpenFegin、Dobbo

5、熔断降级

Hytrix、Sentinel

6、负载均衡

Ribbon

7、分布式事务

seata

二、微服务敏捷开发

概念:提高团队的交付效率,快速迭代,快速试错。

形式:每个月固定发布一个版本,每个需求创建出一个分支。

链路追踪:a、filebeat+logstash+ElasticSearch 形成大型报表。b、基于MQ,往往需要架构支持,经过流式计算形成一些可视化的结果。

持续集成: maven -> build -> jinken。

AB: a、蓝绿发布、红黑发布。老版本和新版本是同时存在的。

       b、灰度发布,金丝雀发布。调整负载方式去迭代新版本。

三、分布式事务seata xa模式

2pc:

   准备阶段: 事务协调器会向事务参与者发送请求,参与者收到后开始事务,将undo和redo保存在事务日志中(事务未提交前),给协调者回复Yes或者No。

   提交阶段: 协调器收到失败或超时信息,rollback所有参与者的事务,反之则然,释放锁资源。

   性能问题:参与者节点需要协调者通知,才会释放本地资源。

   协调者单点故障问题:协调者节点挂掉,参与者节点收不到提交或回滚的消息,从而导致参与者节点无法完成事务的中间状态。

  丢失消息导致的数据不一致问题:由于局部网络问题导致只有部分参与者节点收到提交信息,从而导致数据不一致问题。

3pc:

   三阶段提交在二阶段的基础上新增canCommit 阶段,并给参与者引入超时机制。

    阶段一:canCommit

    阶段二:preCommit

    阶段三:doCommit

四、jdk和cglib动态代理有哪些区别

1、基于接口实现代理类的形式,底层是通过反射原理,在jdk1.7之前性能弱于cglib。

2、基于继承目标对象,通过ASM处理框架将字节码生成代理类。

五、OpenFeign和Feign有哪些区别

1、Feign是基于RestFul风格Http客户端,内置ribbon实现负载均衡。

2、OpenFeign在Feign的基础上支持SpringMVC注解。

Spring Cloud F版本、springboot 2 后就不支持Fegin。

六、Dubbo和SpringCloud有哪些区别

1、Dubbo是用来解决服务间调用问题的RPC框架。

2、SpringCloud是大而全框架提供开发模版,有一系列功能组件,它们是可以结合起来使用的。

七、服务雪崩?服务限流?

服务雪崩:下游服务处理慢或不可用,导致上游服务请求堆积。

服务限流:   限制请求数量。

八、服务熔断和服务降级

服务熔断:上游服务调用下游服务,报错不可用时,直接返回回调结果,不再调用目标服务。

服务降级:。

九、Eureka和Nacos的区别有哪些

erueka 和 nacos 的区别有哪些 • Worktile社区

1、CAP理论的区别:Eurake只支持AP,Nacos支持CP和AP两种。

ephemeral=true注册时为临时节点就是AP,反之就是临时节点。

2、连接方式不同:nacos使用的是netty和服务直接进行连接,属于长连接。

                               eureka是使用定时发送和服务进行联系,属于短连接。

3、服务异常剔除区别:

Eureka:心跳间隔30s,90s注册表的剔除时长,60s下线间隔时长。

Nacos:5s上报时长,15s不健康状态时长,30s实例删除时长。

4、操作实例方式不同:

Eureka:提供查看状态信息;

Nacos: 配置中心,权重和上下线。

5、自我保护机制不同:

Eureka保护方式:当在短时间内,统计续约失败的比例,如果达到一定阈值,则会触发自我保护的机制,在该机制下,Eureka Server不会剔除任何的微服务,等到正常后,再退出自我保护机制。自我保护开关(eureka.server.enable-self-preservation: false)

Nacos保护方式:当域名健康实例 (Instance) 占总服务实例(Instance) 的比例小于阈值时,无论实例 (Instance) 是否健康,都会将这个实例 (Instance) 返回给客户端。这样做虽然损失了一部分流量,但是保证了集群的剩余健康实例 (Instance) 能正常工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值