在 跟我学Spring Cloud(Finchley版)-02-构建分布式应用 一文中,已编写好两个微服务;在 跟我学Spring Cloud(Finchley版)-04-服务注册与服务发现-原理剖析 一文中详细剖析了服务发现的原理。如果对这块知识有疑问,可先行复习一下。

本文探讨如何将 跟我学Spring Cloud(Finchley版)-02-构建分布式应用 一节中的应用注册到Nacos上。

准备工作

pom.xml 中添加如下内容,主要是引入Spring Cloud项目的父Pom,以及Spring Cloud Alibaba的父Pom,从而帮助我们管理依赖版本。


  
    
      org.springframework.cloud
      spring-cloud-dependencies
      Finchley.SR2
      pom
      import
    
    
      org.springframework.cloud
      spring-cloud-starter-alibaba-nacos-discovery
      0.2.1.RELEASE
    
  

TIPS

这里,由于Spring Cloud Alibaba是基于Spring Cloud的,所以两者存在兼容性关系。Spring Cloud Alibaba 0.2.1目前能完美兼容Spring Cloud Finchley。

笔者咨询过Spring Cloud Alibaba官方的小伙伴,号称能够兼容Greenwich,但笔者测试有好几个用例无法兼容,请大家注意。

编码

  • 加依赖

    
    org.springframework.cloud
    spring-cloud-starter-alibaba-nacos-discovery
    
  • 加注解

    @SpringBootApplication
    @EnableDiscoveryClient
    public class ProviderUserApplication {
    public static void main(String[] args) {
      SpringApplication.run(ProviderUserApplication.class, args);
    }
    ...
    }
  • 写配置

    spring:
    application:
      # 注册到Nacos上的服务名称
      name: microservice-provider-user
    cloud:
      nacos:
        discovery:
          server-addr: 127.0.0.1:8848

测试

  • 启动Nacos( 参考:Spring Cloud Alibaba系列教程-01-Nacos安装与启停 )

  • 启动应用 microservice-provider-user

  • 访问Nacos首页左侧导航栏上的 服务列表 ,可看到类似如下的界面:

    Spring Cloud Alibaba系列教程-02-将应用注册到Nacos上_第1张图片

    如图,我们已成功将应用注册到Nacos上了。

总结

由代码可知,得益于Spring Cloud统一的规范,将应用注册到Nacos上或Eureka上代码差异不大。

配套代码

GitHub:;

Gitee:;

本文首发

;

干货分享

Spring Cloud Alibaba系列教程-02-将应用注册到Nacos上_第2张图片