Dubbo框架

Dubbo概述

阿里开发的高性能轻量级JavaRPC框架;

提供高性能和透明化的RPC远程调用方案,以及SOA服务治理方案

Dubbo快速入门

注册中心可以用nacos、ZooKeeper

web,service通过dubbo完成远程调用;

dubbo-admin是一个管理平台

高级特性:

序列化

已经将序列化反序列化封装了,实体类必须实现Serliable接口;

地址缓存

注册中心挂了,会通知消费者,可以访问缓存;

超时和重试

设置一个超时时间(默认1000ms,配置在提供方),无法完成服务访问,自动断开连接,防止雪崩;但是会出现网络抖动,那么请求就失败了,通过重试机制避免(retries默认为2);

多版本

灰度发布,当出现新功能时,会让一部分用户先使用新功能,用户反馈没问题时,再将所有用户迁移到新功能;dubbo中使用version属性来设置和调用同一个接口的不同版本;

负载均衡

随机Random,按权重设置随机概率;

权重RoundRobin,按权重轮询;

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

ConststentHash,一致性Hash,相同参数的请求总是发到同一提供者;

集群容错

Failover Cluster,失败重试,默认重试2次,一般用于读操作;

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

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

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

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

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

服务降级

mork=force:return null

mock=fail:return null

需要了解更多的相关知识可参考:Java | Apache Dubbo

你可能感兴趣的:(技术,dubbo,java,分布式)