dubbo主要核心部件:
Remoting:网络通信框架,实现了sync-over-async和request-response消息机制
RPC:一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
Registry:服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo功能特点:
(1) 连通性:
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
(2) 健状性:
监控中心宕掉不影响使用,只是丢失部分采样数据
数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
注册中心对等集群,任意一台宕掉后,将自动切换到另一台
注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
服务提供者无状态,任意一台宕掉后,不影响使用
服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
(3) 伸缩性:
注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者
Apache Dubbo 更新日志:
v2.7.11
优化
使用nodeCache代替treeCache。
首次获取getServiceAppMapping时,减少一次网络传输。
针对循环条件优化代码
当注册表不支持服务自检体系结构时,兼容切换到接口级服务发现
优化泛型的泛化和泛化
使用@SPI的wrapper方法报告空指针异常错误
从属性文件绑定的数据遇到错误时引发异常
简化OptionUtil#prefixEndOf
固定密码以纯文本格式打印
优化一些与领事有关的代码
将ContextFilter移到最低顺序
当getRegistry错误时,记录错误。
将ClusterRules LoadbalanceRules添加到dubbo common
使用CollectionUtils方法执行Collection null验证
SPI默认名称调整
合并异常,删除冗余接口实现
优化代码以删除无用的对象
使用双重检查从缓存中获取元素
删除冗余引用
修复默认配置无效
在ZookeeperDynamicConfiguration中优化ThreadPoolExecutor的执行程序的创建
发出通用dubbo服务请求时,将check设置为true可能会导致内存泄漏
删除重复的调用MetadataInfo#calAndGetRevision方法
删除DubboBootstrap中的EventListener用法
将由PojoU在GenericFilter中生成的IllegalArgumentException转换为RpcException
解决了新版本的Dubbo中的ProtocolConfig需要名称参数的问题
默认情况下,使Dubbo2.7.x不在注册表中注册serviceNameMapping信息。
特征
为JdkCompiler添加选项配置机制。
将参数Router添加到ConditionRouter
解决重复注册提供者的BeanDefinition的问题
将注释字段添加到matedata定义
错误修正
修复对URLBuilder的不正确处理导致生成错误的URL
修复了导出异步忽略异常的错误
修复DubboReference *版本无效的问题
修复S()总是让另外1个请求通过
清除AbstractProxyProtocol中已销毁的调用程序
未连接频道时,将默认的NeedReconnect设置为true
修复etcd设置为'group'的注册表无法隔离
修复DubboProtocol#getSharedClient中的锁定
修复ExceptionFilter(#6932)中的代码类型
将通用参数作为组,在版本org.a中处理
解决广播群集意味着将调用多台计算机,但此时尚未将其转换为injvm协议。
修复向URL重复添加参数的问题
修复错误的实例变量名称定义
修复基于Linux ARM64 CPU架构的构建
消费者配置标签覆盖privode标签配置
修复RegistryProtocol记录器
修复了不收听不匹配密钥的问题。
修复了可能导致MetadataReportInstance#init多次初始化的问题
Fix字段可能为null,请避免引发NullPointerException
Fix方法在RpcUtils中可能为null,避免引发NullPointerException
修复localAddress可能为null,避免引发NullPointerException
Fix方法可能为null,并且NullPointerException将在MethodUtils中引发
修复RegistryProtocol registerStatedUrl NPE。
setSkyWalkingDynamicField)未找到修复程序
修复删除最后一个配置不生效
修复remoteMap可能为null以避免抛出NullPointerException
修复EtcdServiceDiscovery不覆盖getUrl方法,导致订阅引发异常的情况
修复Dubbo Zookeeper注册表无法重新订阅
ZookeeperServiceDiscovery策展人客户端支持多地址。
1.《Dubbo服务框架 v3.0.4》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《Dubbo服务框架 v3.0.4》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/2097425.html