对照下表,检查 Dubbo 配置文件中的服务属性与 HSF 的兼容情况。检查完配置兼容性之后,即可按照前面文档介绍的内容进行应用的调试与发布。
功能特性 | Dubbo 配置参数 | 兼容情况说明 | 错误提示 | EDAS是否支持 |
超时 | timeout | 支持 | ||
延迟暴露 | delay | 支持 | ||
线程模型 | dispatcher= “all” threadpool= “fixed” threads= “100” | 支持 | ||
回声测试 | 支持 | |||
延迟 | lazy= “true” | 默认开启 | 支持 | |
连接 | ||||
本地调用 | protocol= “injvm” | 支持 | ||
隐式传参 | 支持 | |||
并发控制 | actives=“10” executes=“10” | 已经实现 EDAS 控制台可视化配置,无需配置 | 支持 | |
连接控制 | accepts=“10” connections=”2” | 已经实现 EDAS 控制台可视化配置,无需配置 | 支持 | |
服务降级 | 已经实现 EDAS 控制台可视化配置,无需配置 | 支持 | ||
集群容错 | retries/cluster | 支持 retries | 无报错 | 部分支持 |
负载均衡 | loadbalance | 默认 random | 无报错 | 部分支持 |
服务分组 | group | 不支持 * 配置 | java.lang.IllegalStateException: hsf2 不支持同时消费多个分组! | 部分支持 |
多版本 | version | 不支持 * 配置 | [HSF-Consumer] 未找到需要调用的服务的目标地址 | 部分支持 |
异步调用 | async=“true” return=”false” | return 参数无效 | 无报错 | 部分支持 |
启动时检查 | check | EDAS 默认是启动不检查 | 无报错 | 默认支持启动不检查 |
多协议 | 只支持 Dubbo 协议 | com.alibaba.dubbo.config.ServiceConfig服务[com.alibaba.demo.api.DemoApi] 配置了 RMI 协议, HSF2 不支持 | 部分支持 | |
路由规则 | 已经实现 EDAS 控制台可视化配置,无需配置 | 支持 | ||
配置规则 | 已经实现 EDAS 控制台可视化配置,无需配置 | 支持 | ||
多注册中心 | 不支持 | |||
分组聚合 | group= “aaa,bbb” merger= “true” | 报错 | java.lang.IllegalStateException: hsf2 不支持同时消费多个分组! | 不支持 |
上下文信息 | 报错 | Caused by: java.lang.UnsupportedOperationException: not support getInvocation method in hsf2 | 不支持 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
timeout
| 支持 | 无报错 | 支持动态配置delay
| 支持 | 无具体提及,但应可配置 | 可能需手动配置于Dubbo端dispatcher=“all”
, threadpool=“fixed”
, threads=“100”
| 支持 | 无报错 | 手动配置,EDAS可能不直接干预lazy=“true”
| 默认开启 | 无报错 | EDAS兼容或自动处理protocol=“injvm”
| 支持 | 无报错 | Dubbo原生支持,EDAS兼容actives=“10”
, executes=“10”
| 已可视化配置 | 无需手动配置 | EDAS控制台支持accepts=“10”
, connections=“2”
| 已可视化配置 | 无需手动配置 | EDAS控制台支持retries/cluster
| 部分支持 | retries无报错 | 需确认具体策略与HSF的兼容性loadbalance
=默认random
| 部分支持 | 无报错 | 确认HSF是否全兼容Dubbo策略group
| 部分支持 | java.lang.IllegalStateException: hsf2 不支持同时消费多个分组!
| 需避免多分组配置version
| 部分支持 | [HSF-Consumer] 未找到需要调用的服务的目标地址
| 确保版本正确且唯一async=“true”
, return=“false”
| 部分支持 | return 参数无效
| 异步调用支持,但注意return
参数check
| 默认不检查 | 无报错 | EDAS默认行为,无需配置com.alibaba.dubbo.config.ServiceConfig
| 部分支持 | 服务[com.alibaba.demo.api.DemoApi] 配置了 RMI 协议, HSF2 不支持
| 仅支持Dubbo协议java.lang.IllegalStateException: hsf2 不支持同时消费多个分组!
| 避免多注册中心分组配置Caused by: java.lang.UnsupportedOperationException: not support getInvocation method in hsf2
| 注意HSF对上下文处理的限制在将Dubbo应用迁移至HSF或确保两者间的互操作性时,请依据上述兼容性检查结果调整配置。对于已实现EDAS控制台可视化的配置项(如超时、并发控制、连接控制等),推荐直接使用EDAS控制台进行动态配置以简化管理流程和提高灵活性。对于部分支持或不支持的功能,需根据错误提示和文档指引进行针对性调整,确保服务的正常运行和治理需求。
特别注意服务分组、多版本、多协议及上下文信息传递等不完全兼容的场景,这些可能需要修改服务设计或采用特定的适配策略来满足HSF环境的要求。