Apache Dubbo 3.0.4 发布,分布式 RPC 服务框架

Apache Dubbo 3.0.4 已发布,这是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。

此版本更新内容:

新特性

  • 添加记录器禁用选项(#8885
  • 支持后台启动模块(#8869
  • 支持多订阅服务扩展(#8908
  • 支持原生 dubbo 3.0.4(#8966
  • 支持取消 streamObserver (#8946
  • 三重传输支持消息压缩(#8817#9018#9021#9032
  • 支持模型字段中的缓存属性(#9025
  • 支持使用 maven 插件运行 dubbo 原生项目(#8970
  •  ExtensionLoader 添加 ExtensionClassLoaderPackages 支持(#9061

 bug 修复

  • 修复 appendAttribute 键(#8847
  • 修复 RpcContext 重复覆盖的问题(#8842
  • 修复 addParam()  StringIndexOutOfBoundsException#8799
  •  decode(Channel, InputStream) 处添加空调用检查(#8812
  • 修复 IllegalStateException  doOverrideIfNecessary NPE#8768
  • 添加 zookeeper 节点数据创建事件检查(#8833
  • 修复:使用多个协议并指定端口时,无法启动服务。(#8769
  • 修复 urlInvokerMap 并发访问问题(#8701
  • 修复 bean 的 Deployer State 延迟注入问题(#8867
  • ZookeeperRegistry CountDownLatch 应该被释放并添加一些 UT (#8870
  • 修复 serialVersionUID(#8852
  • 修复并发 bean 创建错误的问题(#8883
  • 恢复 Servlet 页面 API(#8884
  • 修复 CountDownLatch 未被释放的问题(#8878
  • 修复订阅时,查看配置部分不可用的问题(#8879
  • 在发布 ServiceDefinition 时修复 Class.forName(#8894
  • Socks 代理过滤本地地址(#8876
  • 修复延迟导出不适用于 ServiceConfig(#8912
  • 修复 MergeableClusterInvoker NPE(#8891
  • 添加 destroy() 调用关闭 tomcat 服务器端口(#8920
  • 在 LazyConnectExchangeClient 关闭方法中将客户端设置为 null(#8881
  • 修复:telnet 中 registry cast to AbstractRegistry 错误(#8619
  • 修复 AbstractServiceDiscovery#serviceInstance 属性不添加 volatile 修饰符(#8915
  • 修复地址为空时状态路由器抛出异常(#8951
  • 在 Injvm Invoke 中重置 ServiceModel(#8952
  • 修复实例模式 mesh 路由无法获取 url 参数(#8947
  • 修复异常信息(#8974
  • kryo 序列化恢复判断 jdk 的方法(#8968
  • 修复重复的 ApplicationConfig 错误(#8989
  • testRecover() 覆盖 removeFailedRegisteredTask 和 removeFailedSubscribedTask(#8981
  • 修复 ConfigManagerTest 拼写错误(#8990
  • 修复创建 SPI 的自适应类时的并发问题(#8998
  • 修复 Listener 提前初始化(#9006
  • 在关闭操作时检查 ClosedChannelException(#9010
  • NotifyService 回调方法的正确参数类型(#9008
  • 设置模块在 applicationDeployer 中启动 checkStarted()(#9013
  • 修复多实例迁移报告(#9020
  • 在 get 配置中修复 NPE(#9024
  • 增加检查 localMetadataService.blockUntilUpdated stat 的逻辑(#9002
  • 在 blockUntilUpdated 处检查 applicationModel 销毁状态(#9001
  • 移除 RegistryFactory 扩展点的默认实现(#9027
  • 修复实例更新失败的问题(#9040
  • 修复 tomcat 端口已被使用时进程无法停止的问题(#8552

优化

  • 将 ScopeModel 添加到本地调用(#8849
  • 修复优化字段范围(#8751
  • 优化 dubbo 元数据模块的部分代码(#8783
  • 一开始不显示 replaceWithLazyClient() 警告(#8814
  • 统一错误信息(#8794
  • 提取 MigrationRule 的常量(#8850
  • 改进 MigrationRuleListener#destroy 方法的逻辑(#8853
  • 添加 ClassLoaderResourceLoader 来缓存 ClassLoader 的资源(#8866
  • 超时关闭流(#8888
  • 大幅优化某些 UnitTest 用例成本时间(#8844
  • 提高单元测试效率(#8877
  • 当 DefaultFuture 被取消时, TimeoutCheckTask 应该被取消(#8898
  • 删除无意义的代码(#8887
  • 尝试从接口参数加载类(#8905
  • 为 SpringBean Initializer 添加 ModuleModel 限定符(#8904
  • 调用 timeout 时转换 TimeoutException(#8906
  • 重构 MetricsConfig(#8785
  • 当 DefaultFuture2 被取消时,TimeoutCheckTask 应该被取消(#8901
  • 添加重置帧处理程序(#8871
  • 优化三服务器发送帧错误处理程序(#8922
  • 优化多个部分代码(#8900
  • MultipleRegistry 去除重复 URL(#8896
  • gson格式泛型调用的优化(#8924
  • Catch handler.caught() throwable 的 MultiMessageHandler(#8930
  • 重构 Injvm 调用(#8926
  • 将调用中的 LinkedHashMap 还原为 HashMap(#8941
  • 销毁执行器并改进测试(#8928
  • 移除 SimpleChannelInboundHandler(#8893
  • 使用新算法优化哈希负载平衡一致性(#8948
  • 添加等待注册完成的闩锁(#8962
  • 删除未使用的客户端处理程序(#8955
  • 忽略 Injvm 调用副本的通用调用(#8986
  • 通过 ScopeModelAware 将 applicationModel 注入 TripleHttp2Protocol(#8984
  • 优化 AbstractRegistry(#8971
  • 将本地调用者从 Collections.singletonList 更改为 ArrayList(#8997
  • 添加serializingExecutor(#8999
  • 发送和删除逻辑前无需估计头部大小(#8802
  • 添加健康服务取消处理程序(#9004
  • 删除方法级别的连接配置(#9011
  • 提取常量并修复错别字(#9019
  • 用future来替换latch(#9030
  • 支持默认服务实例的深拷贝(#9029
  • 添加问题模板(#9036
  • 为 LazyConnectExchangeClient 重建 InstanceAddressURL 到 ServiceConfigURL(#9041
  • 填充 ListBoolMatch 代码并优化 DubboAttachmentMatch 代码(#8448
  • 格式三元组(#9058
  • 管理全局资源和执行器服务,修复 zk 客户端连接(#9033
  • 添加已弃用的描述(#9065

稳定性提升

  •  ServiceDefinitionBuilderTest 添加 [annotation]测试用例,并删除未使用的参数(#8788
  •  MetadataReportInstance  AbstractServiceNameMapping 添加单元测试(#8846
  • 增强 FailoverClusterInvoker 单元测试(#8851
  • 增强 FailbackClusterInvoker 单元测试(#8861
  • 增强 FailfastClusterInvokerTest 单元测试(#8864
  • 增强 ForkingClusterInvoker 单元测试(#8865
  • 添加 ZookeeperMetadataReportTest 测试用例(#8840
  •  ServiceInstanceMetadataUtilsTest 添加测试用例(#8914
  •  CuratorFrameworkUtils  AbstractServiceDiscoveryFactory 添加单元测试(#8886
  • 修复testInvoke_retryTimes_withBizException#8910
  •  StandardMetadataServiceURLBuilder 添加单元测试(#8913
  • 添加一些 AvailableClusterInvoker 单元测试(#8934
  • 添加单元测试和一些优化(#8945
  • 补丁关机 hooks 测试(#8958
  • 增强可合并集群调用测试(#8889
  • 验证远程 url 的远程引用(#8973
  •  MultiplexProtocolConnectionManagerTest 配置 tri 扩展(#8979
  •  Http2ProtocolDetector  NettyEventLoopF​​actory 添加单元测试(#9023
  • 修复 AbstractMetadataReportTest  AbstractMetadataReportFactoryTest#8807
  •  ChannelBuffers  ChannelBufferFactory 添加单元测试(#9031
  •  dubbo-registry-nacos 添加单元测试(#9035

更新公告:https://github.com/apache/dubbo/releases/tag/dubbo-3.0.4

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/166167/dubbo-3-0-4-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。