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
相关推荐
caihuayuan514 分钟前
Vue生命周期&脚手架工程&Element-UI
java·大数据·spring boot·后端·课程设计
MaCa .BaKa2 小时前
37-智慧医疗服务平台(在线接诊/问诊)
java·vue.js·spring boot·tomcat·vue·maven
八股文领域大手子2 小时前
Spring Boot Controller 如何处理HTTP请求体
java·开发语言·sql·spring·spring cloud
tanxiaomi2 小时前
Java中对象集合转换的优雅实现【实体属性范围缩小为vo】:ListUtil.convert方法详解
java·spring boot·mybatis
小刘|2 小时前
Spring,SpringMVC,SpringBoot,SpringCloud的区别
spring boot·spring·spring cloud
明月与玄武3 小时前
Spring Boot中的拦截器!
java·spring boot·后端
为美好的生活献上中指3 小时前
java每日精进 5.07【框架之数据权限】
java·开发语言·mysql·spring·spring cloud·数据权限
菲兹园长3 小时前
SpringBoot统一功能处理
java·spring boot·后端
muxue1783 小时前
go语言封装、继承与多态:
开发语言·后端·golang
开心码农1号4 小时前
Go语言中 源文件开头的 // +build 注释的用法
开发语言·后端·golang