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
相关推荐
码代码的小农几秒前
SpringCloud Alibaba微服务工程搭建
spring·spring cloud·微服务
令狐少侠2011几秒前
若依微服务版启动小程序后端
java·spring boot·maven
程序猿大波12 分钟前
基于Java,SpringBoot,Vue,HTML家政服务预约系统设计
java·vue.js·spring boot
星星电灯猴12 分钟前
android打包工具
后端
楽码31 分钟前
一文看懂!编程语言访问变量指针和复制值
后端·go·编程语言
逝水年华QAQ37 分钟前
告别混乱与重装烦恼,一款Windows 软件管理神器!
windows·后端
lcf_zhangxing37 分钟前
提升 Odoo 开发效率:Ubuntu 22.04 + Makefile 的最佳实践
后端
Weison42 分钟前
Apache Doris 性能优化补丁:近期版本更新概览
后端
小巫程序Demo日记43 分钟前
Spring Cache与Redis集成原理
数据库·spring boot·python
只恨天高1 小时前
SpringBoot异常处理之注解@ExceptionHander和@ControllerAdvice
java·spring boot·spring