Nacos 注册中心的使用场景 | 学习笔记

简介: 快速学习 Nacos 注册中心的使用场景,介绍了 Nacos 注册中心的使用场景系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【微服务实战-服务注册中心 - Nacos Nacos 注册中心的使用场景】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/619/detail/9430


Nacos 注册中心的使用场景

 

内容简介:

一、在 Spring Cloud 中使用 Nacos 作为注册中心

二、在 Dubbo 中使用 nacos 作为注册中心


一、在 Spring Cloud 中使用 Nacos 作为注册中心

通过实现一个简单的 echo server,演示如何在 spring cloud 项目中启用 nacos 的服务注册与发现功能。

1.添加 maven 依赖

只需要引入 spring cloud 阿里巴巴 nacos  discovery 依赖就可以支持 nacos 注册中心。

需要说明的是由于 spring cloud 阿里巴巴进行了仓库的迁移,所以 maven 依赖以spring cloud 阿里巴巴官方文档为准。

org.springframework.cloud

spring-cloud-starter-alibaba-nacos-discovery    

${latest.version}

Spring cloud version

Spring cloud alibaba version

Nacos version

Spring cloud greenwich

0.9.0.RELEASE

1.0.0

Spring cloud finchley

0.2.2.RELEASE

1.0.0

Spring cloud edgware

0.1.2.RELEASE

1.0.0

2.配置 provider 端

(1)在 application.properties 中配置 Nacos Server 地址:

server.port=8070

spring.application.name=service-provider

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

(2)通过 Spring Cloud 原生注解@EnableDiscoveryClient 开启服务注册发现功能: @SpringBootApplication

@EnableDiscoveryClient

public class NacosProviderApplication {

public static void main(String[] args){

SpringApplication.run(NacosProviderApplication.class, args):


@RestController

class EchoController {    

@RequestMapping(value = "/echo/{string}", method =        

RequestMethod.GET  public String echo(@PathVariable String string){

return "Hello Nacos Discovery " + string;

}

}

代码主要关注的是 echo 支持一个 echo 的 get 方法,支持训参数的传入,同时会返回 hello nacos discovery 和传入的参数组合的一个返回结果

3.配置 onsumer 端:

(1) 在 application.properties 中配置 Nacos Server 地址:

(2) 通过 Spring Cloud 原生注解@EnableDiscoveryClient 开启服务注册发现功能:

@SpringBootApplication

@EnableDiscoveryClient

public class NacosProviderApplication {

public static void main(String[] args){

SpringApplication.run(NacosProviderApplication.class, args):

@RestController

class EchoController {

@RequestMapping(value = "/echo/{string}", method =        

RequestMethod.GET  public String echo(@PathVariable String string){

return "Hello Nacos Discovery " + string;

}

在代码中创建了一个 test controller 提供 htp 服务,同时有一个 echo 方法,echo 方法的返回值是另一个服务 sever provider 对应的 echo 方法的返回值 

4.启动 ProviderApplication 和 ConsumerApplication

调用 https://localhost:8080/echo/2018,返回内容为 Hello Nacos Discovery 2018


二、在 Dubbo 中使用 nacos 作为注册中心

1.引入 maven 依赖

<dependency>

<groupld>com.alibaba</groupld>

<artifactld>dubbo-registry-nacos</artifactld>

<version>0.0.2</version>

</dependency>

<dependency>

<groupld>com.alibaba.nacos</groupld>      <artifactld>nacos-client</artifactld>  

<version>1.0.1</version>

</dependency>

<dependency>

<groupld>com.alibaba</groupld>  

<artifactld>dubbo</artifactld>  

<version>2.6.5</version>

</dependency>

这里有三个依赖,第一个是 dubbo-registry-nacos 依赖,这个依赖主要与 duboo groupld 结合,来调用 nacos gloupld 进行服务注册与发现。

第二个是 nacos-client 依赖,这个依赖是真正与 nacos 服务端进行通讯的依赖。第三个是 dubbo 与客户端的依赖 

2.配置 provider 端

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans'

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/ dubbo" xsi:schemalocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://dubbo.apache.org/schema/dubbohttp://dubbo.apache.org/schema/dubbo/dubbo.xsd">

<!--提供方应用信息,用于计算依赖关系>

<dubbo:application name="dubbo-provider-xml-demo"f>

<!-暴露的服务,将会注册到Nacos上>

<dubbo:service interface-"com.alibaba.dubbo.demo.DemoService" ref='demoServicelocal' version=*1.0.o"/>  

<!-暴露的端口-->

<dubbo:protocol name="dubbo" port="20881"/>

<!使用Nacos注册中心->

<dubbo:registry address="nacos://127.0.0.1:8848"/>  

</beans>

3.查看服务注册情况:

通过启动 provider 端就可以通过 nacos 控制台看到已经注册好的 dubbo 服务。

相关文章
|
2月前
|
人工智能 Java API
Nacos 3.1.0 正式发布,支持 A2A 注册中心与 MCP 注册协议增强
3.1.0 发布核心全新功能-Agent 注册中心,助力构建基于 A2A 协议的多 Agent 协作的AI应用,同时 MCP 注册中心适配最新 MCP 官方注册中心协议及升级优化多项核心功能。
656 25
|
11月前
|
负载均衡 Kubernetes 网络协议
注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
这是小卷对分布式系统架构学习的第9篇文章,继续探讨注册中心的原理及选型。文章详细介绍了Eureka、Nacos的工作机制与特点,并对比了Eureka、Nacos、Consul和Zookeeper在一致性协议、健康检查、负载均衡等方面的差异。最后根据不同的应用场景给出了注册中心的选型建议,帮助读者理解如何选择最适合的注册中心。
949 100
|
10月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4181 14
|
存储 缓存 负载均衡
Nacos注册中心
Nacos注册中心
273 1
Nacos注册中心
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评。然而,“客户端不发送心跳检测”是使用中常见的问题之一。本文详细探讨了该问题的原因及解决方法,包括检查客户端配置、网络连接、日志、版本兼容性、心跳检测策略、服务实例注册状态、重启应用及环境变量等步骤,旨在帮助开发者快速定位并解决问题,确保服务正常运行。
222 5
|
网络安全 Nacos 开发者
Nacos作为流行的微服务注册与配置中心,“节点提示暂时不可用”是常见的问题之一
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,“节点提示暂时不可用”是常见的问题之一。本文将探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务的正常运行。通过检查服务实例状态、网络连接、Nacos配置、调整健康检查策略等步骤,可以有效解决这一问题。
281 4
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
242 3
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
668 3
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
Cloud Native Java Nacos
微服务注册中心-Nacos概述
该博客文章提供了对Nacos的全面概述,包括其基本介绍、与Spring Cloud集成的优势、主要功能以及如何在Spring Cloud Alibaba项目中作为服务注册中心使用Nacos。文章解释了Nacos是一个动态服务发现、配置管理和服务管理平台,支持服务发现、健康监测、动态配置、DNS服务和元数据管理。还介绍了如何下载和启动Nacos服务器,以及如何将微服务注册到Nacos中,包括修改pom.xml文件引入依赖、配置application.properties文件和使用@EnableDiscoveryClient注解开启服务注册发现功能。
微服务注册中心-Nacos概述

热门文章

最新文章