面试官:Dubbo 常用配置策略用法有哪些?
1、启动时检查:默认不可用时会抛出异常,为防循环依赖, check = false
2、集群容错配置:缺省为failover重试,自动切换其他服务器。其他:Failfast、Failsafe、Failback。
3、负载均衡配置:Random随机、RandomRobin轮询、LeastActive最少活跃数
4、只订阅/只注册:禁止注册register=false;禁止订阅 subscribe = false
5、服务分组:group = &34;
6、多版本:version = &34;
7、结果缓存:cache = &34;
8、泛化调用:
generic,boolean,非必填,缺省值false,是否缺省泛化接口,如果为泛化接口,将返回GenericService
9、回声测试
所有rpc引用的代理对象,都实现了接口 EchoService ,可用于测试Reference的服务是否都就绪。
10、异步调用
异步执行,不可靠的异步,只是忽略返回值,不阻塞执行线程
11、事件通知
onreturn:方法执行返回后拦截
onthrow:方法执行有异常拦截。
Go语言的RPC(Remote Procedure Call)是一种远程过程调用协议,它可以让分布式系统中的不同节点之间通过网络进行通信和调用。Go语言的RPC基于Go语言的标准库提供了一套简单易用的RPC框架,它可以快速地实现一个分布式系统中的RPC调用。
Go语言的RPC框架提供了两种调用方式:同步和异步。同步调用是指客户端发起一个RPC请求后,会一直等待服务器返回结果,直到收到结果后才继续执行后续操作。异步调用是指客户端发起一个RPC请求后,不会等待服务器返回结果,而是立即返回一个异步调用对象,然后在需要的时候再去查询结果。
Go语言的RPC框架还支持多种传输协议,包括TCP、HTTP、WebSocket等,可以根据实际需要选择合适的传输协议。同时,Go语言的RPC框架还支持多种序列化方式,包括JSON、Protobuf等,可以根据实际需要选择合适的序列化方式。
总的来说,Go语言的RPC框架具有简单易用、高效可靠、可扩展性强等优点,是构建分布式系统的重要组成部分。
Dubbo框架从整体上分为了业务(Business)层、RPC层和远程调用(Remoting)层,其中业务层提供API,让使用者方便地发布与引用服务;RPC层则是对服务注册与发现、服务代理、路由、负载均衡等功能的封装,该层又可以被划分为很多层;远程调用层则是对网络传输与请求数据序列/反序列化等的抽象。——《深度剖析ApacheDubbo核心技术内幕》