摘要:dubbo版本 dubbo版本2.6.7 路由 服务目录(Directory)在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由,筛选出符合路由规则的服务提供者。服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者 Dubbo提供
阅读全文
摘要:参考文献 https://dubbo.apache.org/zh/docs/v2.7/dev/source/loadbalance/ 负载均衡 当服务提供方是集群时,为了避免大量请求一直集中在一个或者几个服务提供方机器上,需要做负载均衡策略。Dubbo提供了多种均衡策略,默认为random,即每次随
阅读全文
摘要:Dubbo版本 Dubbo版本2.6.7 集群作用 Dubbo 定义了集群接口 Cluster 以及 Cluster Invoker。集群 Cluster 用途是将多个服务提供者合并为一个 Cluster Invoker,并将这个 Invoker 暴露给服务消费者。服务消费者只需通过这个 Invok
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 目录服务 目录服务(Directory service):是一个储存、组织和提供信息访问服务的软件系统。一个目录是指一组名字和值的映射。它允许根据一个给出的名字来查找对应的值,与词典相似。像词典中每一个词也许会有多个词义,在一个目录中,一个名字也许会与多个不
阅读全文
摘要:服务引用 服务引用分为两步 通过持有远程服务实例生成Invoker,这个Invoker在客户端是核心的远程代理对象 将Invoker通过动态代理转换为实现用户接口的动态代理引用 服务引用的入口在ReferenceBean#getObject @Override public Object getOb
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 Filter Dubbo中的过滤器与Web应用中的过滤器类似,提供了在服务调用前后插入自定义逻辑的途径。默认启用的过滤 过滤器 使用方 作用 AccessLogFilter Provider 打印每一次请求的访问日志。如果需要访问的日志只出现在指定的appe
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 Protocol Protocol层主要包含Protocol、Filter、ExporterListener、InvokerListener。Protocol层是RPC的核心调用层,具体的RPC协议都可以通过Protocol扩展。Protocol接口是入口,
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 暴露前准备 服务导出的入口在ServiceBean中,ServiceBean实现了ApplicationListener,即在容器初始化的时候执行onApplicationEvent()方法。ServiceBean是Spring配置与dubbo整合的桥梁 @
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 注册中心 Dubbo通过注册中心实现了各服务之间的注册与发现 动态加入:provider通过注册中心动态暴露服务给consumer 动态发现:一个消费者可以动态感知新的配置、路由规则、新的consumer,不需要重启服务 动态调整:注册中心支持参数的动态调整
阅读全文
摘要:dubbo版本 dubbo版本2.6.7 扩展点特性 自动包装(Wrapper):ExtensionLoader在加载扩展时,如果发现这个扩展类包含其他扩展点作为构造函数的参数,则这个扩展类就会被认为是Wrapper类。例如Protocol接口默认就包含ProtocolFilterWrapper、P
阅读全文
摘要:Dubbo版本 Dubbo版本2.6.7 JDK SPI 介绍 SPI(Service provider interface的缩写)是JDK内置的一种服务提供发现机制,符合对修改封闭,对扩展开放的原则 作用: 基于某种约定为接口查找相应的实现类(一个或者多个),主要是针对不同的服务提供厂商,对不同场
阅读全文
摘要:Dubbo版本 Dubbo版本2.6.7 Dubbo架构 工作原理 涉及的角色 Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 服务治理平台,提供开发和运维人员服务查询、路由规则、服务 Mo
阅读全文