全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
企业级分布式应用服务 EDAS

服务注册与发现

更新时间:2018-07-13 16:16:15

介绍如何使用 ANS(Alibaba Naming Service)服务发现组件将基于 Spring Cloud 开发的应用接入到 EDAS,并实现服务发现。

前提条件

操作步骤

  1. 配置阿里云 AK 和 SK。

    1. 登录阿里云 AK 管理控制台
    2. 在左侧导航栏单击安全信息管理

    3. 安全信息管理页面复制 AccessKey ID 和 Access Key Secret,分别对应配置项中的 alibaba.cloud.access-key 和 alibaba.cloud.secret-key。

      安全凭证信息格式如下:

      1. alibaba.cloud.access-key=xxxxxxxxxx
      2. alibaba.cloud.secret-key=xxxxxxxxxx
    4. 将安全凭证信息粘贴到您的配置文件中,如 application.properties。
  2. 配置 EDAS 的命名空间。

    1. 登录 EDAS 控制台

    2. 在左侧导航栏中单击命名空间

    3. 在命名空间列表页面选择地域,并找到您想发布到的命名空间,复制其命名空间 ID,对应配置项中的 alibaba.edas.namespace

      1. alibaba.edas.namespace=xxxxxxxxxx
    4. 将命名空间信息粘贴到您的配置文件中,如 application.properties。

  3. 修改工程中的 Maven 依赖。

    1. 在您的应用系统目录中编辑 pom.xml 文件,引入 starter 依赖。

      注意,如果您之前使用了 Eureka 这类服务发现组件,请将其排除,以免出现兼容性问题

    2. 依赖的配置内容如下。

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.cloud</groupId>
    4. <artifactId>spring-cloud-starter-ans</artifactId>
    5. <version>1.1.3</version>
    6. </dependency>
    7. <dependency>
    8. <groupId>com.alibaba.cloud</groupId>
    9. <artifactId>spring-cloud-alibaba-edas-starter</artifactId>
    10. <version>1.1.3</version>
    11. </dependency>
    12. </dependencies>
  4. 启动应用。

    启动代码简单示例如下:

    1. @SpringBootApplication
    2. @EnableDiscoveryClient
    3. public class ProviderApplication {
    4. public static void main(String[] args) {
    5. SpringApplication.run(ProviderApplication.class, args);
    6. }
    7. }

结果验证

  1. 应用启动后,登录 EDAS 控制台。

  2. 在左侧导航栏中选择服务管理 > 服务查询

  3. 服务查询页面选择应用接入的地域命名空间,查询接入的 Spring cloud 服务。

FAQ

  1. 我看到我的服务注册成功了,如何调用呢?

    答:spring-cloud-starter-ans 默认支持集成了 Ribbon,您可以使用 RestTemplate 和 FeignClient 调用。

  2. 为什么我的服务注册总是失败?

    答:如果您在确认账号信息都准确无误的情况下,但是运行此文档中的 Demo 却注册失败了。有可能是由于您本机的时间不准确,从而导致验签鉴权失败。此时您需要校正本机的时间,建议打开时间自动同步功能。

参考

更多详情请参考 ANC 使用指南

本文导读目录