前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud-搭建Nacos注册中心

SpringCloud-搭建Nacos注册中心

作者头像
Damon小智
发布2024-02-15 10:34:17
1700
发布2024-02-15 10:34:17
举报
文章被收录于专栏:全栈文档库全栈文档库

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台。它支持多种服务发现协议,包括基于 DNS 和 HTTP 的服务发现。Nacos 提供了强大的配置管理和服务发现功能,使得在微服务架构中轻松实现服务注册、发现和配置管理成为可能。在本篇博客中,我们将介绍如何在 Spring Cloud 应用中安装和集成 Nacos 注册中心。

一、下载安装Nacos

首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases · alibaba/nacos · GitHub

选择合适的版本并下载,解压缩得到 Nacos 的安装包。


二、启动Nacos服务

在解压后的 Nacos 目录中,找到 bin 文件夹。

用写字板编辑 startup.cmd,将 set MODE= “cluster” 修改为:

代码语言:javascript
复制
set MODE=“standalone”

这将在启动 Nacos Server 时,默认使用 standalone 模式运行。

修改完成后,切换 cmd 到 bin 目录下启动 Nacos Server:

代码语言:javascript
复制
C:\Users\Damon.Liu>d:

D:\>cd D:\Tools\Nacos\bin

D:\Tools\Nacos\bin>startup.cmd -m standalone

这里提醒我需要配一个 java8以上 的 JAVA_HOME 环境变量。

简单配一下:

再次尝试启动 Nacos,这次成功了!


三、访问Nacos控制台

在 Nacos 成功启动后,可以通过浏览器访问 Nacos 控制台,默认地址是 http://localhost:8848/nacos。在控制台中,你可以管理服务、配置以及其他 Nacos 的功能。


四、SpringCloud集成Nacos

1、创建SpringCloud父工程

为了方便模拟,我新创建了一个名为 NacosTest 的 SpringCloud 项目。


2、创建生产者子项目

新建 nacos-provider 模块。

选中Spring Web 和 Nacos Service Discovery(用于服务自动注册和自动发现)

创建完成后,手动删除 demos 文件夹,删除后项目结构如图:


3、父子项目各添加依赖

子项目 pom.xml 添加父工程依赖:

代码语言:javascript
复制
<parent>
    <groupId>com.example</groupId>
    <artifactId>NacosTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath/>
</parent>

父项目的 pom.xml 里补充子项依赖和配置:

代码语言:javascript
复制
<packaging>pom</packaging>
<modules>
    <module>nacos-provider</module>
</modules>

① 启动类增加服务发现注解

代码语言:javascript
复制
package com.example.nacosprovider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@EnableDiscoveryClient
@SpringBootApplication
public class NacosProviderApplication {

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

}

② 修改application.yml配置

重命名 application.properties 为 application.yml,内容修改为:

代码语言:javascript
复制
server:
  #程序端口号
  port: 8081
spring:
  application:
    #应用名称
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        #nacos地址
        server-addr: 127.0.0.1:8848
management:
  endpoints:
    web:
      exposure:
        #公开所有端点
        include: '*'

五、访问Nacos查看已注册服务

访问我们的 Nacos 服务地址:http://localhost:8848/nacos,可以看到控制台的查看已注册服务。

通过以上步骤,我们成功在 Spring Cloud 应用中集成了 Nacos 注册中心和配置中心。我们过 Nacos 的控制台管理服务和配置信息,实现更灵活的微服务架构。


六、Nacos的丰富功能

Nacos(Namespace Aware Clustered Object Storage)作为一个强大的服务发现、配置管理和服务管理平台,提供了许多丰富的功能。

功能

详述

服务注册

Nacos 作为服务注册中心,支持服务的注册与发现。通过 Nacos,微服务应用可以方便地注册自身服务,同时通过 Nacos 进行服务的发现,以实现微服务之间的通信。

服务发现

服务消费者通过 Nacos 注册中心发现并调用其他服务。

配置管理

Nacos作为配置中心,支持动态配置管理,实时更新应用的配置信息。通过 Nacos 的配置中心,应用可以动态读取配置信息,实现配置的集中管理。Nacos支持配置的动态监听,当配置发生变化时,应用可以立即感知并更新。

命名空间和分组

Nacos支持多命名空间和分组,帮助用户更好地管理和隔离不同环境下的服务和配置。

健康检查

Nacos提供了健康检查机制,可实时监测服务的运行状态,确保服务的可用性。

集群和多数据中心

Nacos支持横向扩展,可以构建成多节点的集群,支持多数据中心的部署,提供高可用和容错能力。

配置共享和保护

Nacos允许配置共享,支持配置的版本管理和回滚。同时,Nacos提供配置的保护机制,防止配置被误操作删除。

插件扩展

Nacos提供了丰富的插件机制,可以通过插件扩展实现更多自定义功能,如自定义路由、自定义负载均衡策略等。

Nacos 的功能丰富多样,涵盖了服务注册与发现、配置管理、健康检查等多个方面。通过学习 Nacos 的这些核心功能,可以更好地利用 Nacos 构建和管理微服务架构,提升应用的可用性和灵活性。希望这一部分的详解能够帮助你更深入地理解和使用 Nacos。 ?

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-2-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、下载安装Nacos
  • 二、启动Nacos服务
  • 三、访问Nacos控制台
  • 四、SpringCloud集成Nacos
    • 1、创建SpringCloud父工程
      • 2、创建生产者子项目
        • 3、父子项目各添加依赖
          • ① 启动类增加服务发现注解
            • ② 修改application.yml配置
            • 五、访问Nacos查看已注册服务
            • 六、Nacos的丰富功能
            相关产品与服务
            微服务引擎 TSE
            微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com