基础:Dubbo

Dubbo

集群

  • 一个软件,部署在多台服务器上

分布式

  • 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上

RPC

  • 全称为remote procedure call,即远程过程调用

SOA: (Service- Oriented Architecture,面向服务的架构)

  • 是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来

ESB: (Enterparise Servce Bus)

  • 企业服务总线,主要是提供了一个服务于服务之间的交互。ESB包含的功能如:负载均衡,流量控制,加密处理,服务的监控,异常处理,监控告急等

微服务架构

  • 是在SOA上做的升华,微服务架构强调的一个重点是业务需要彻底的组件化和服务化,原有的单个
    业务系统会拆分为多个可以独立开发、设计、运行的小应用,这些小应用之间通过服务完成交互和集成

架构演进

在这里插入图片描述

Dubbo架构图

在这里插入图片描述
注意

  • Dubbo不能单独使用,需要配套的服务注册与发现的注册中心,常用的注册中心是Zookeeper,Nacos

序列化

在这里插入图片描述

地址缓存

  • 注册中心挂了,服务是否可以正常访问???

超时

在这里插入图片描述

  • 注意:超时时间建议配置在服务提供方
@Service(timeout = 3000, retries = 0) // 当前服务3秒超时

重试

在这里插入图片描述

// timeout 超时时间 单位毫秒  retries 重试次数
@Service(timeout = 3000, retries=3)

灰度发布

在这里插入图片描述

  • 当出现新功能时,会让一部分用户先使用新功能,用户反馈没问题时,再将所有用户迁移到新功能

  • dubbo中使用version属性来设置和调用同一个接口的不同版本

负载均衡(Dubbo提供4种策略)

  • Random:按权重随机,默认值。按权重设置随机概率

  • RoundRobin: 按权重轮询

  • LeastActive:最少活跃调用数,相同活跃数的随机

  • ConsistentHash:一 致性Hash,相同参数的请求总是发到同一提供者

集群容错(6种模式)

  • Failover Cluster: 失败重试,默认容错模式。当出现失败时,重试其它服务器,默认重试2次,使用retries配置

  • Failfast Cluster :快速失败,发起一次调用,失败立即报错。通常用于写操作

  • Failsafe Cluster:失败安全,出现异常时,直接忽略。返回一个空结果

  • Failback Cluster:失败自动恢复,后台记录失败请求,定时重发

  • Forking Cluster :并行调用多个服务器,只要一个成功即返回

  • Broadcast Cluster: 广播调用所有提供者,逐个调用,任意一台报错则报错

服务降级

  • 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作

  • mock= force:return null:表示消费方对该服务的方法调用都直接返回null值,不发起远程调用。用来屏蔽不重要服务不可用时对调用方的影响

  • mock=fail:return null:表示消费方对该服务的方法调用在失败后,再返回null值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值