dubbo

spring cloud alibaba
是网飞在停止运营,开源一些组件之后,我们可以用阿里开源的这一套代替之前的cloud。

Netflix Alibaba
注册中心 eureka nacos
服务提供调用 feign+ribbon dubbo
限流降级 hystrix sentinel
网关 zuul gateway
中间件 rocketmq
分布式事务 seata

dubbo

  • 大致分层:
    • 接口提供配置(服务的接口暴露,以及一些配置,其他层都可以spi替换实现的)
      service+config
    • 集群协调(动态代理+注册中心交互+负载均衡)
      代理+注册层+集群层
    • 调用(具体调用,网络的建立,监控,异步同步切换,序列化处理)
      监控+协议+exchange+网络+序列化
  • 降级限流熔断:
    • 降级是为保护服务的一种策略,直接指定处理流程,或者返回指定信息等。
    • 限流是已并发数为依据,进行降级。
    • 熔断是动态根据实时的服务提供是否正常,进行判断降级。
      模式阶段有正常-熔断-半开放-恢复。
  • dubbo降级
    配置文件里可以指定mock方法,进行降级,会在调用超时,或者异常时走降级逻辑。不具备限流和熔断的机制。可以用组件sentinel来实现。
  • traceId
    可以利用javaAgent机制来实现无入侵式实现。
    是jvmit提供出的一些可以接口,用户可以对其进行扩展,在调用接口时会执行用户实现的业务逻辑。
    利用rpc的filter来实现traceId的传递。

你可能感兴趣的:(dubbo)