目录
一、支持多种协议的服务发布
二、支持多种注册中心
三、支持多种序列化技术
avro
fst
fastjson
hessian2
kryo
四、集群容错
1、什么叫容错?
容错就是当某个调用者调用接口请求失败时,对于服务调用者来说需要某种机制来处理这种问题,这种机制就叫容错
2、容错模式
dubbo提供了6中容错模式,默认为FailOver Cluster,并且支持自行扩展
FailOver Cluster:失败自动切换,当请求失败时会自动重试,失败次数可通过retries=2参数配置,默认次数2次。此模式通常用在读操作,可避免数据重复
FailFast Cluster:快速失败,当请求失败时,立即报错,不重试调用,通常用在幂等操作中,可避免上游服务端请求成功,因此延时或其他不确定的原因出现数据重复问题
FailSave Cluster:失败安全,返回错误时,忽略失败
FailBack Cluster:失败自动回复,当调用失败时,可进行定时自动重试,通常用在消息通知中,可以确保消息发送成功
Forking Cluster:当集群中有一个服务节点返回成功,就认为调用成功,可通过forks=2来调节最大并行数
BroadCast Cluster:当集群中有一个服务节点返回失败,就认为调用失败,通常用在通知所有服务者更新缓存和本地资源信息
3、配置方式
通过@Service()注解中的"cluster"参数进行配置
@Service(cluster = "failfast")
public class UserServiceImpl implements IUserService{
@Override
public UserVO getUser(String uid){
return new UserVO();
}
}