常见异常列表:
异常: Caused by: java.lang.RuntimeException: fail to get diamond-server serverlist! env:default
原因: 公测期间 ACM Java Native SDK 或者 Spring Cloud ACM 的应用必须部署在阿里云的经典网络或者VPC网络内部才能访问ACM配置。这主要是为了安全和QoS的考虑。后续会考虑开放公网的配置读取入口。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的异常信息表明您的应用在尝试通过ACM(Alibaba Cloud Config Management)获取配置时遇到了问题,具体原因是无法获取到Diamond服务器列表。Diamond是阿里云配置管理服务的一个组件。根据描述,这个问题发生的原因及解决办法如下:
网络环境限制:公测期间,ACM Java Native SDK或Spring Cloud ACM的应用需要部署在特定的网络环境中,即阿里云的经典网络或者专有网络(VPC)内部。这是出于安全和QoS(Quality of Service,服务质量)的考虑,确保配置的传输安全性和可靠性。
公网访问限制:当前阶段,直接从公网环境访问ACM配置服务器的功能可能未开放,因此,如果您的应用部署在非阿里云环境或未正确配置的阿里云公网实例上,就可能会遇到此问题。
调整部署环境:将您的应用部署到阿里云的经典网络或VPC内。确保应用实例能够通过内网访问ACM服务,这样可以避免公网访问的限制,并提高数据传输的安全性。
配置私有网络连接:如果您必须在现有网络环境下使用ACM,可以考虑设置VPC对等连接、云企业网(CEN)或其他阿里云提供的网络互联解决方案,使您的资源能够安全地访问ACM服务。
等待功能更新:关注阿里云官方公告或文档,了解何时会开放公网配置读取入口。一旦该功能开放,按照官方指南进行相应配置调整即可。
检查网络配置:确认应用实例的网络安全组规则是否允许访问ACM服务所需的端口。虽然当前不支持公网访问,但正确的网络配置也是确保未来功能可用的基础。
技术支持咨询:如果上述方法都不能解决问题,建议联系阿里云的技术支持获取帮助,他们能提供更具体的指导和解决方案,特别是针对特定场景下的网络配置和策略调整。
总之,要解决这个问题,关键是确保应用运行环境与ACM服务之间的网络连通性符合要求,或者等待并准备采用未来可能开放的公网访问方式。