微服务系列:nacos简介和安装部署

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务系列:nacos简介和安装部署

前言


注册中心和配置中心应该算是微服务中的标配了。而nacos作为由阿里开源一款非常优秀的产品,成功将两者结合起来,可以让开发者将更多的精力投入到业务功能的开发中。


一、nacos是什么?


Nacos 是由阿里开源的一款产品,致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

官网地址:https://nacos.io/zh-cn/docs/what-is-nacos.html


二、有哪些功能?


1.服务发现与服务健康检查

Nacos使服务更容易注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。并支持服务的上下线。

2.动态配置管理

动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序和服务的需要,这使配置更改更加高效和灵活。

3.动态DNS服务

Nacos支持加权路由,使您可以更轻松地在数据中心的生产环境中实施中间层负载平衡,灵活的路由策略,流量控制和简单的DNS解析服务。它可以帮助您轻松实现基于DNS的服务发现,并防止应用程序耦合到特定于供应商的服务发现API。

4.服务和元数据管理

Nacos提供易于使用的服务仪表板,可帮助您管理服务元数据,配置,kubernetes DNS,服务运行状况和指标统计。


102.png


在日常工作中,nacos主要是作为微服务中的注册中心和配置中心,它除了提供非常简洁友好的web界面,还支持服务的上下线,动态配置管理,配置版本的回滚,多租户,简单够用的权限管理等非常实用的功能。


三、部署安装


1.jdk环境配置

2.下载对应的releases版本

最新文档版本:https://github.com/alibaba/nacos/releases

这里我下载的版本是:nacos-server-2.0.0-BETA.tar.gz


解压文件:


tar -zxvf  nacos-server-2.0.0-BETA.tar.gz

3.启动服务器

进入nacos的bin目录下


Linux/Unix/Mac

启动命令(standalone代表着单机模式运行,非集群模式):


sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:


bash startup.sh -m standalone


Windows

启动命令(standalone代表着单机模式运行,非集群模式):

cmd startup.cmd -m standalone


101.png


这种方式是后台启动,看不到日志输出,无法判断是否出现异常。

可以查看nacos/logs/start.out日志输出,看服务启动是否正常。


tail -200f    logs/start.out


100.png

控制台的访问页面是:http://localhost:8848/nacos/index.html

99.png

说明服务启动成功。


4.访问控制台

访问控制台:http://localhost:8848/nacos/index.html

采用默认用户nacos,密码nacos登陆。

97.png

98.png



四、采用mysql持久化


nacos默认配置下启动,采用的是嵌入式数据库,新增修改的用户权限等配置,都是保存中内存中的。当nacos服务重启后,信息会丢失。这时我们就需要开启nacos的mysql持久化功能,将信息写入到mysql数据库中。


1.进入nacos安装目录的conf目录下:

96.png

2.在mysql上新建nacos数据库,并执行nacos-mysql.sql初始化表结构

95.png

3.修改配置application.properties

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow


4.重启nacos服务

可以尝试新建用户,看信息是否成功写入到nacos库中的users表中。

94.png


五、开启权限认证


按照官方文档配置启动,默认是不需要登录的,这样会导致配置中心对外直接暴露。而启用鉴权之后,需要在使用用户名和密码登录之后,才能正常使用nacos。


开启鉴权之前,application.properties中的配置信息为:


### If turn on auth system:
nacos.core.auth.enabled=false


开启鉴权之后,application.properties中的配置信息为:


### If turn on auth system:
nacos.core.auth.enabled=true


注意,如果不开启的权限认证,会出现新建的用户可以登陆到nacos控制台。并且可以读写所有命名空间的配置文件的情况,给用户配置的读写权限没有起作用的情况。


当开启权限配置后,如果访问没有读写权限的命名空间,就会出现权限不够的异常提示,说明权限配置已经起作用。

93.png

通过创建多个命名空间,并且给用户分配对应命名空间的读写权限,可以很方便的实现用户对多环境下的配置文件读写权限的精确控制。

92.png


总结


主要介绍nacos的入门级使用。

1、nacos的功能说明,主要是作为微服务体系中的注册中心和配置中心。

2、nacos的部署安装

3、nacos的mysql持久化

4、开启nacos的权限控制配置

目录
相关文章
|
5天前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
5天前
|
安全 Linux Nacos
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
|
5天前
|
SpringCloudAlibaba 负载均衡 Java
【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
19 3
|
2天前
|
运维 监控 Docker
使用Docker进行微服务架构的部署
【5月更文挑战第18天】本文探讨了如何使用Docker进行微服务架构部署,介绍了Docker的基本概念,如容器化平台和核心组件,以及它与微服务的关系。通过Docker,每个微服务可独立运行在容器中,便于构建、测试和部署。文章详细阐述了使用Docker部署微服务的步骤,包括定义服务、编写Dockerfile、构建镜像、运行容器、配置服务通信、监控和日志管理以及扩展和更新。Docker为微服务提供了可移植、可扩展的解决方案,是现代微服务架构的理想选择。
|
5天前
|
SpringCloudAlibaba 应用服务中间件 Nacos
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心(下)
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心
17 0
|
5天前
|
JSON SpringCloudAlibaba Java
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心(上)
【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心
22 1
|
5天前
|
存储 负载均衡 Cloud Native
【微服务系列笔记】Nacos
Nacos 是阿里巴巴开源的项目,用于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持动态服务发现、服务配置、服务元数据和流量管理,旨在更敏捷和方便地构建、交付和管理微服务平台。可作为注册中心与配置中心。
45 5
|
5天前
|
网络协议 数据可视化 Shell
最详细的Mac下安装nacos教程来了
最详细的Mac下安装nacos教程来了
|
5天前
|
Linux Nacos 数据库
【微服务】生产部署nacos集群(三个节点)
【微服务】生产部署nacos集群(三个节点)
29 1
|
5天前
|
算法 Nacos Docker
docker部署nacos集群
docker部署nacos集群
31 0