Fork me on GitHub

Spring Cloud Alibaba系列教程-02-将应用注册到Nacos上

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

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

准备工作

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>

TIPS

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

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

编码

  • 加依赖

    1
    2
    3
    4
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
  • 加注解

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

    1
    2
    3
    4
    5
    6
    7
    8
    spring:
    application:
    # 注册到Nacos上的服务名称
    name: microservice-provider-user
    cloud:
    nacos:
    discovery:
    server-addr: 127.0.0.1:8848

测试

总结

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

配套代码

GitHub:https://github.com/eacdy/spring-cloud-study/tree/master/2019-Spring-Cloud-Alibaba/microservice-provider-user

Gitee:https://gitee.com/itmuch/spring-cloud-study/tree/master/2019-Spring-Cloud-Alibaba/microservice-provider-user

相关文章

评论系统未开启,无法评论!