springboot框架项目实践应用十六(nacos管理控制台)

1.引言

nacos是阿里开源的一个服务注册发现、配置管理以及服务管理组件。支持主流服务类型,比如

  • springcloud restful service
  • grpc&dubbo rpc service
  • kubernetes service

并且提供了强大的特性,支持丰富的应用场景,比如

  • 服务发现和服务健康检查
  • 动态配置服务
  • 动态DNS服务
  • 管理控制台

对于熟悉springcloud的小伙伴来说,我们可以简单理解,nacos可以用来替换eureka、和springcloud config组件,即很多时候,我们把nacos用于服务注册与发现、以及配置管理。

而且nacos提供了简洁易用的管理控制台dashboard,使用起来非常方便!值得拥有,它的官方地址是:nacos.io/

2.搭建管理控制台

先来搭建一个nacos管理控制台,直观感受一下。我们可以有两种搭建方式

  • 直接下载官方提供的发行包
  • 下载源码,本地自己打包

2.1.下载官方发行包

可以到github下载,下载地址:github.com/alibaba/nac...

需要注意如果我们要在springcloud alibaba中整合使用nacos,那要注意一下版本的选择,看过我sentinel系列文章的小伙伴,应该还记得这个地址:github.com/alibaba/spr...

该地址详细列出了springcloud alibaba中各组件版本兼容关系、以及springboot、springcloud、springcloud alibaba之间的版本兼容关系,强烈建议小伙伴们看一下!

所以为了兼容springcloud alibaba 2.2.6.RELEASE版本,nacos我们选择1.4.2版本。

详细地址:github.com/alibaba/nac...

下载到本地后,进行解压

进入nacos-server-1.4.2目录

shell 复制代码
cd D:\nacos\nacos-server-1.4.2\nacos

进入bin目录,启动nacos控制台

shell 复制代码
#进入 bin目录
cd bin

#执行命令,启动nacos管理控制台
startup.cmd -m standalone

注意:一定要以通过-m standalone单节点方式启动,默认启动脚本是以集群模式启动,会报错!关于集群模式启动,请关注后续文章【搭建生产可用nacos高可用集群】

启动完毕,访问:http://127.0.0.1:8848/nacos,输入账号信息:nacos/nacos

到此,通过官方提供的发行包搭建了一个nacos管理控制台。

2.2.下载源码包

通常直接使用官方发行包搭建管理控制台就可以了。但是有时候,我们可能会需要对nacos进行一些定制化改造,那就需要通过源码包方式

  • 下载源码包
  • 定制化修改
  • 编译打包

所以我们可以下载源码包,直接下载,或者通过git clone都可以,我直接下载了

通过ide工具打开nacos工程

在Terminal终端窗口,执行mvn打包命令

shell 复制代码
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

打包成功后,进入distribution目录,我们发现已经有与官方发行包一样的nacos-server-xxx.zip包了

2.3.管理控制台介绍

搭建好nacos管理控制台,访问地址:http://127.0.0.1:8848/nacos,输入账号信息:nacos/nacos,我们看到nacos管理控制台,提供了以下能力

  • 配置列表
  • 服务管理
  • 权限控制
  • 命名空间
  • 集群管理

2.3.1.配置列表

配置列表,支持配置实时配置、动态刷新、历史版本回滚等能力

2.3.2.服务管理

服务管理,支持查看已经注册的服务列表、服务相关管理操作,比如上线、下线等

2.3.3.权限控制

这是nacos新版本增加的能力,终于有了权限控制!再也不用担心谁都能上来操作了!

2.3.4.命名空间

命名空间,这是nacos领域模型中的一个核心概念,相当于profile特性,后面详细介绍

2.3.5.集群管理

支持查看、管理nacos集群节点

3.服务注册发现、配置管理体验

nacos提供了一系列api,可以让我们快速体验

  • 服务注册
  • 服务发现
  • 服务配置

3.1.服务注册

请求api

shell 复制代码
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=user-center&ip=127.0.0.1&port=8080'

比如

服务注册成功后,管理控制台展现注册上的服务

3.2.服务发现

请求api

shell 复制代码
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=user-center'

请求结果

3.3.发布配置

请求api

shell 复制代码
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=user-center&group=test&content=Hello nacos"

请求结果

3.4.获取配置

请求api

shell 复制代码
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=user-center&group=test"

请求结果

3.5.关闭管理控制台

执行命令

shell 复制代码
shutdown.cmd
相关推荐
星辰徐哥3 小时前
Spring Boot 微服务架构设计与实现
spring boot·后端·微服务
星辰徐哥3 小时前
Spring Boot 数据导入导出与报表生成
spring boot·后端·ui
明夜之约3 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee3 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Micro麦可乐3 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
Jinkxs3 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
毕设源码_郑学姐3 小时前
计算机毕业设计springboot网络相册设计与实现 基于Spring Boot框架的在线相册管理系统开发与应用 Spring Boot驱动的网络影集设计与实践
spring boot·后端·课程设计
辣机小司3 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
一条小锦吕*3 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
Jinkxs3 小时前
Prometheus - 监控微服务:Spring Boot 应用指标暴露与监控
spring boot·微服务·prometheus