手把手教你在本地搭建 Nacos 服务注册和配置管理中心
source link: http://www.justdojava.com/2021/04/09/nacos01/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
手把手教你在本地搭建 Nacos 服务注册和配置管理中心
发表于 2021-04-09
| 分类于 Java
Hello 大家好,我是阿粉,现如今微服务早就成为每个互联网公司必备的架构,在微服务中服务的注册发现和统一配置中心是不可或缺的重要角色。现有的服务注册中心主要有 ZooKeeper
、Eureka
、Consul
,Etcd
、Nacos
,而统一配置中心主要有 Apollo
,Spring Cloud Config
,Disconf
,Nacos
可以看到服务注册中心和统一配置管理有很多,而且每一种都是网上比较流行的,使用人数也偏多,但是我们可以发现只有 Nacos
是集两者于一身的。这篇文章主要给大家介绍一下 Naocs
的基本信息以及安装步骤,后面的文章再带大家更深入的了解一下Nacos
。
Nacos 是什么
打开网站 Nacos 的首页,我们可以看到下面的内容,写到 Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助我们发现、配置和管理微服务,提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 本地搭建
Nacos 的安装可以通过安装包或者源码来时候,这里我们为了以后方便调试,所以选择采用源码来安装。
- 第一步在 GitHub 上面下载源码,这里可以使用 HTTP 协议也可以使用 SSH,阿粉这里为了简单就直接采用 HTTP 协议来下载了:
git clone https://github.com/alibaba/nacos.git
; -
下载完成过后,我们使用 IDEA 的 File》Open 打开项目,如下图
-
刚打开后我们会看到有很多个模块,从模块的命名我们大概可以猜到有些模块是干嘛的,比如有
auth
权限模块,config
配置模块等这篇文章我们主要看安装和使用,后面慢慢深入了解具体的细节。-
拉取下来过后,我们需要创建数据库,我们找到
console
模块下的数据库脚本和配置文件,如下图,在MySQL
数据库中创建一个名为nacos
的数据库,然后执行schema.sql
脚本,创建相应的表结构,同时在application.properties
文件中找到对应配置数据源的地方,配置好账号密码。这里对于MySQL
的数据库的搭建和创建不在这篇文章的讨论范围里面就不提了。 -
配置好数据库过后,在控制台执行
mvn
命令mvn -Prelease-nacos -Dmaven.test.skip=true -Drat.skip=true clean install -U
,编译一下,然后执行console
模块下面的Nacos.java
中的main
方法,启动后我们会看到下图,显示的是集群模式启动,因为我们是本地单机启动,所以可以增加一个JVM
参数-Dnacos.standalone=true
来设置单机模式。按照下图设置好过后,重新启动即可。 -
启动成功过后,我们可以访问地址
http://127.0.0.1:8848/nacos
,我们可以看到如下页面,包含配置管理、服务管理、以及权限,命名空间和集群的管理。阿粉这里搭建的是最新的版本,旧版本是没有权限管理的。我们可以看到整个页面非常的见解,其中配置管理服务管理基本上覆盖了我们常用的所有功能。
-
上面我们已经搭建好了 Nacos
平台,现在给大家介绍一下,Nacos
的几个核心角色。
- 命名空间
Namespace
:用于进行租户粒度的配置隔离,不同的命名空间下,可以存在相同的Group
或Data ID
的配置。Namespace
的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 - 分组
group
:每个命名空间下还可以进行分组,相同集群的服务可以设置在同一个分组里面,如果没有手动指定默认分组为DEFAULT_GROUP
- 配置集
Data ID
:用于唯一区分不同配置文件,可以根据配置的信息不同,分别设置,比如可以单独配置Redis
的配置文件,以及MySQL
的配置文件,可以尽量细分复用,这样在有调整的时候只需要改一处即可。 - 更详细的名词解释可以参考官网https://nacos.io/zh-cn/docs/concepts.html
上面介绍了 Nacos 的本地搭建,搭建好了过后我们就可以使用了,因为 Nacos 不仅支持服务发现也支持统一配置管理,这篇文章我们先创建两个命名空间 test1
和 test2
,然后分别添加两个配置文件com.example.properties
和com.example2.properties
,创建的步骤比较简单。首先点击命名空间菜单,然后在右上角新增命名空间,接着输入相关信息就好了,这里新版本的 Nacos
支持手动填入命名空间的 ID,旧版本是不支持的,会随机生成一个字符串,这里建议手动填入具有含义的ID。
创建完命名空间过后,就可以在此命名空间下创建相应的配置文件了,这篇文章主要给大家介绍一下 Nacos 的本地部署过程以及简单的系统使用,后面的文章结合代码来实现一下服务的注册发现和配置的动态更新,敬请期待。
Recommend
-
103
本文约2300字,建议阅读8分钟。 本文将详细介绍文本分类问题并用Python实现这个过程。 引言 文本分类是商业问题中常见的自然语言处理任务,目标是自动将文本文件分到一个或多个已定义好的类别中。文本分类的一些例…
-
37
-
22
-
53
在flutter开发中,始终会有下面两个无法避免的问题: 原生项目往flutter迁移,就需要在原生项目中接入flutter flutter项目中要使用到一些比较成熟的应用,就无法避免去用到原生的各种成熟库,比如音视频之类的
-
18
如今,部署一个三层(表示层、业务逻辑和存储)架构应用程序可能会有些棘手。假设我们有一个简单的 Django 应用程序,即本教程中的 民意投票 应用程序。它在我们的本地计算...
-
19
什么是 LB 直通 Pod ? Kubernetes 官方提供了 NodePort 类型的 Service,即给所有节点开一个相同端口用于暴露这个 Service,大多云上 LoadBalancer 类型 Service 的传统实现也都基于 NodePort,即 LB 后端绑各节点的 NodePort...
-
10
原文网址:http://yanhaijing.com/linux/2016/08/21/how-to-install-linux-on-vm/ 对于想学习linu...
-
8
Ubuntu上的微信和QQ一直很难装,我之前尝试了很多方法(有些是基于网页版登录微信的,有些是用wine的),但我试了都不太行,坑点很多,搞不好就把系统搞崩了。今天发现用docker安装微信和QQ非常简单,所以想分享给目前正在为在Ubuntu上安装微...
-
3
手把手教你在 Modelarts 平台上进行视频推理发布于: 2021 年 07 月 21 日摘要:为了方便小伙伴们进行视频场景的 AI 应用开发,Modelarts 推理平台将视频推理场景中一些通用的流程抽取出来预置在基础镜像中,小伙...
-
3
手把手教你在优麒麟上搭建 RISC-V 交叉编译环境 2022-01-28 10:29:50 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK