SpringCloud 整合 Nacos- 服务发现

本贴最后更新于 1943 天前,其中的信息可能已经时移世易

采用 SpringBoot2.1.X+Cloud-Greenwich 版本 +Nacos1.0.0 版本

如果需要使用其他版本请参考

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

Nacos 安装搭建

Nacos 安装

注意!nacos 已经毕业新版依赖为

这里采用 nacos 服务端 1.1.0 + Springboot 2.1.6 + Springcloud Greenwich.SR2

依赖也变为 com.alibaba.cloud

org.springframework.boot spring-boot-starter-web org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test ​ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery ​ org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies 2.1.0.RELEASE pom import

添加依赖(未毕业版本)

我们添加 springcloud 的依赖和 cloudalibaba 的依赖

1.8 Greenwich.SR1 0.9.0.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import ​ org.springframework.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import

配置文件

这里端口我们采用 8999,服务名我们叫做 test,然后编写 nacos 的注册地址,这个如果有多个使用逗号隔开

server.port=8999
spring.application.name=test
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

代码编写

我们只需要在启动类上加上一个注解就可以了,他就是 Cloud 的原生服务发现注解 @EnableDiscoveryClient

@EnableDiscoveryClient
@SpringBootApplication
public class NacosClientApplication {

public static void main(String[] args) {
SpringApplication.run(NacosClientApplication.class, args);
}

}

然后启动项目,打开控制台如果发现有下面的示例那么就完成服务发现了

多项目区分

如果我们有很多个项目同时都用到了 nacos 的服务发现。那么我们如何将他们区分开呢?在 nacos 中我们可以通过他的命名空间,也就是 namespace 进行隔离,我们首先先来创建 namespace,我们点击命名空间然后点击新建,我们新建一个 test 命名空间他会自动的生成一串 id

null

我们拿着这个 id 在配置文件中写入

spring.cloud.nacos.discovery.namespace=905ddece-e4ac-4564-b2aa-f4cf3d568318

这里表示 nacos 的服务发现的 namespace 的 id 为 905ddece-e4ac-4564-b2aa-f4cf3d568318,也就是将他注册到 test 命名空间中,我们启动项目再来查看,我们点击服务发现,会发现旁边多了一个 test,我们点击 test 就能发现我们的服务了

null

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 3 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • Nacos
    23 引用 • 4 回帖 • 1 关注
  • 云计算
    78 引用 • 91 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...