Spring Cloud Alibaba-Nacos服务注册和配置中心

在这里插入图片描述

概述

Nacos(官方网站:nacos.io)是一个易于使用的平台,专为动态服务发现、配置和服务管理而设计。帮助您轻松构建云原生应用和微服务平台。

Nacos是 Dynamic Naming and Configuration Service 的首字母简称。
在这里插入图片描述
Spring Cloud Alibaba 是 Spring Cloud 的第二代实现,因此与其他注册中心关系如下:
Nacos = Eurake+Config+Bus
Nacos = Spring Cloud Consul

Nacos与其他注册中心就比较
在这里插入图片描述
技术选型的话,根据实际情况来定。

下载安装

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要配置 Maven环境,请确保是在以下版本环境中安装使用:

64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
64 bit JDK 1.8+;
Maven 3.2.x+;

具体启动方式参考 Nacos 官网。

Nacos Server 启动成功之后,浏览器地址栏输入 http://ip:8848/nacos 查看 Nacos 控制台(默认账号名和密码为 nacos/nacos):
在这里插入图片描述
关于更多的 Nacos Server 版本,可以从 Nacos 官方 release 页面查看。

Nacos服务注册中心

通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。

原理

spring-cloud-starter-alibaba-nacos-discovery 遵循了 Spring Cloud Common 标准,实现了 AutoServiceRegistration、ServiceRegistry、Registration 这三个接口。

在 Spring Cloud 应用的启动阶段,监听了 WebServerInitializedEvent 事件,当 Web 容器初始化完成后,即收到 WebServerInitializedEvent 事件后,会触发注册的动作,调用 ServiceRegistry 的 register 方法,将服务注册到 Nacos Server。

配置服务提供者

从而服务提供者可以通过 Nacos 的服务注册发现功能将其服务注册到 Nacos server 上
1、添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

2、在 application.yml 中配置 Nacos server 的地址

server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址

3、 通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能

@SpringBootApplication
@EnableDiscoveryClient
public class Main9001
{
   
   
    public static void main(String[] args)
    {
   
   
        SpringApplication.run(Main9001.class,args);
    }
}

 

业务类

@RestController
public class PayAlibabaController
{
   
   
    @Value("${server.port}")
    private String serverPort;

    @GetMapping(value = "/pay/nacos/{id}")
    public String getPayInfo(@PathVariable("id") Integer id)
    {
   
   
        return "nacos registry, serverPort: "+ serverPort+"\t id"+id;
    }
}

在这里插入图片描述

配置服务消费者

从而服务消费者可以通过 Nacos 的服务注册发现功能从 Nacos server 上获取到它

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值