asp 企业网站dw制作一个手机网站模板下载地址
news/
2025/10/6 12:49:08/
文章来源:
asp 企业网站,dw制作一个手机网站模板下载地址,app开发教程,网络营销渠道的三大功能初识RPC RPC VS REST HTTP Dubbo Dubbo 特性#xff1a;
基于接口动态代理的远程方法调用 Dubbo对开发者屏蔽了底层的调用细节#xff0c;在实际代码中调用远程服务就像调用一个本地接口类一样方便。这个功能和Fegin很类似#xff0c;但是Dubbo用起来比Fegin还要简单很多
基于接口动态代理的远程方法调用 Dubbo对开发者屏蔽了底层的调用细节在实际代码中调用远程服务就像调用一个本地接口类一样方便。这个功能和Fegin很类似但是Dubbo用起来比Fegin还要简单很多Fegin优势还需要独立声明一个接口而Dubbo真的就是拿到公共接口类后直接就能用。负载均衡
Dubbo内置多种负载均衡策略只能感知下游节点健康状况提高系统吞吐量这部分功能和Ribbon十分接近
但是Dubbo的负载均衡策略不如Ribbon的多而且Dubbo的负载均衡能力只能供自己享用而Ribbon可以赋能
给Spring Cloud里的各个组件。集群容错
Dubbo提供了一个Cluster组件专门用来做集群容错它其实并不是Hystrix这类降级组件而是一种 “异常重
试”服务治理
支持多种注册中心服务服务实力上下线实时感知。就是服务注册、服务发现、服务下线之类的流程这些功能
和Eureka里面的概念是一模一样的只是实现方式却大有不同。比如Dubbo在服务下线后会主动将可用服务列表
下发到各个服务节点送货上门服务周到而Eureka每次都等着服务节点自己上注册中心来拿数据。Dubbo 的技能点比较专一全点在了服务治理体系但就服务治理来看确实比Eureka细致一些。
Dubbo架构 Dubbo和Eureka中服务发现的不同
Dubbo里的注册中心、Provider和Counsumer三者之间都是长连接借助于Zookeeper的高吞吐量实现基于服务端的服务发现机制。因此Dubbo利用Zookeeper发布订阅模型可以很快将服务节点的上线下线同步到Consumer集群。如果服务提供者宕机那么注册中心的长连接会立马感知到这个事件并且立即推送通知到消费者。在服务发现的做法上Dubbo和Eureka有很大的不同Eureka使用客户端的服务发现机制因此对于服务列表的变动响应会稍慢比如某台机器下线以后在一段时间内可能还会陆续有服务请求发过来当然这些请求会收到Service Unavailable的异常需要借助Ribbon活Hystrix实现重试或者降级措施。对于注册中心宕机的情况Dubbo和Eureka的处理方式相同这两个框架的服务节点都在本地缓存了服务提供者的列表因此仍然可以发起调用但服务提供者列表无法被更新因此可能导致本地缓存的服务状态与实际情况有别。
Dubbo有哪些底层协议
Dubbo本尊官方推荐RMI JDK中“java.rmi”包下的实现底层采用阻塞的短连接 JDK中标准的二进制序列化。 适用场景参数数据报大小不一发i为i提供者和服务消费者个数相近Hessian 基于HTTP短连接采用Service向外暴露服务 适用场景参数数据报较大服务提供者的数量远多于消费者数量HTTP基于http表单的协议 适用场景可以使用浏览器查看适用于需要同时给后台应用程序以及浏览器提供服务的场景WebService基于大名鼎鼎的Apache CFX使用基于SOAP的序列化技术 适用场景系统由多种不同语言构成的那么这个场景就比较适合采用WebService协议WebService通常使用在系统集成和跨语言调用场景中。REST基于标准的Java REST API 实现的REST风格调用 Dubbo花了大力气在这部分的实现上面 他的使用风格和原生Spring MVC类似。
Dubbo协议的特性和性能
连接个数 - 单连接连接方式 - 长连接传输协议 - TCP底层通信框架 - Netty异步NIO序列化方式 - Hessian2或Dubbo序列化
Dispatcher线程派发模型
Dispatcher用来创建具有线程派发能力的ChannelHandler将来访Request派发到线程池或者当前IO线程。我们可以给Dispatcher配置5种派发策略
all所有消息都派发到线程池包括请求响应连接事件断开事件direct所有消息都不派发到线程池全部在IO线程上直接执行message只有请求和响应消息派发到线程池其它消息均在IO线程上执行execution只有请求消息派发到线程池不含响应。其它消息均在IO线程上执行connection在IO线程上将连接断开事件放入队列有序逐个执行其它消息派发到线程池
Dubbo的Cluster和Clister Invoker组件 集群模块是服务提供者和服务消费者的中间层为服务消费者屏蔽了服务提供者的情况这样服务消费者就可以专心处理远程调用相关事宜。比如发请求接受服务提供者返回的数据等。Cluser Invoker大集合 a. FailoverClusterInvoker - 指定重试次数 (默认) b.FailbackClusterInvoker - 后台定时重试 c.FailfastClusterInvoker - 早死早超生 d.FailsafeClusterInvoker - 睁一只眼闭一只眼 e.ForkingClusterInvoker - 百万雄师过大江
Dubbo中的负载均衡
RandomLoadBalance 基于权重算法的负载均衡策略LeastActiveLoadBalance 基于最少活跃调用数算法ConsistentLoadBalance 基于Hash一致性RoundRobinLoadBalance 基于加权轮询算法
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929322.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!