SpringCloud Alibaba Nacos 服务治理中心

一、什么是Nacos?

英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。服务在nacos是一等公民

二、Nacos能干吗?

Nacos根据官网介绍致力于发现、配置和管理微服务。Nacos既能作为SpringCloud中的Erueka组件又能作为SpringCloud中的Config组件并且Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

三、Nacos关键特性

Nacos 支持基于 DNS 和基于 RPC 的服务发现。

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理
四、Nacos中的基本概念

服务:通过预定义接口网络访问的提供给客户端的软件功能。

配置:在系统开发过程中,开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成。配置变更是调整系统运行时的行为的有效手段。

命名空间:用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

服务注册中心:存储服务实例和服务负载均衡策略的数据库。

服务发现: 在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。

五、如何安装部署Nacos?

通过官方直接下载发布版本:https://github.com/alibaba/nacos/releases/download/1.1.0/nacos-server-1.1.0.tar.gz解压即可运行

这里通过源码编译形式进行安装,也可以直接在官网发布版本中找到适应的版本进行使用。

由于我这里访问github网络不行所以就直接在码云拉源码了。

git clone https://gitee.com/mirrors/Nacos.git

后面脚手架使用的全部版本是 1.1.0版本所有我这里切换对应版本进行打包

#切换到1.1.0标签
git checkout 1.1.0
#进入Nacos目录,进行打包
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
#打包好后Nacos\distribution\target目录中会出现一个zip和tar
#nacos-server-1.1.0.tar.gz
#nacos-server-1.1.0.zip

我这里直接使用zip压缩包在windows环境下进行使用,解压后目录如下

bin 存放可执行脚本
conf 运行时的配置
plugins 插件
target 打包后的jar包

windows环境下运行bin目录下的startup.cmd即可,等待启动完成后访问:http://localhost:8848/nacos

如果使用Linux系统运行则 sh startup.sh -m standalone代表着单机模式运行。

默认登陆账号与密码为:nacos\nacos登陆后页面展示如下

SpringCloud Alibaba Nacos 服务治理中心

配置管理则是我们在程序中使用的配置如SpringBoot读取的properties都可以存放在这里。

服务管理根据名字就清楚是对注册到Nacos上的服务进行管理的功能啦。

集群管理则指是Nacos集群而不是应用程序集群。

命名空间是此做多环境以及多租户(多个用户共同使用nacos)数据(配置和服务)隔离的,相当于SpringBoot 配置文件中的spring.profiles。

六、Nacos数据持久化

当我们使用默认配置启动Nacos时,所有配置文件都被Nacos保存在了内置的数据库中。

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力;如果使用内嵌数据库,注定会有存储上限,且无法移植。

在Nacos的conf目录下nacos-mysql.sql创建一个数据库运行脚本,然后在application.properties增加以下配置:

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

然后创建的配置会持久化到配置的数据库中。

Nacos注册中心/配置中心二合一我觉得非常好用,比起SpringCloud 需要Eureka于Config两个服务。不过二合一也并非优点,打个简单的比方在不需要配置中心的情况下Nacos的配置管理就显得多余了。

Original: https://www.cnblogs.com/SimpleWu/p/13578818.html
Author: 日落西风又在吹
Title: SpringCloud Alibaba Nacos 服务治理中心

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/572352/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 33岁程序员的年中总结

    人生在不同的阶段会有不同的生活方式和思考问题的角度,这是一件非常有趣的事~ 比如,我在 22 岁会想:怎么才能赚大钱,怎么才能升值加薪? 在 25 岁会想:去哪买房?什么时候结婚?…

    Java 2023年5月29日
    074
  • Oracle扩展表空间

    Oracle扩展表空间 前言: Oracle表空间扩展最大为32G,目前我还未找到可以打破限制的办法。 一、查看表空间信息和使用情况 查看表空间的名字及文件所在位置 — &amp…

    Java 2023年6月8日
    0128
  • Elasticsearch+kibana+logstash 搭建日志收集分析平台

    Elasticsearch+kibana+logstash 搭建日志收集分析平台 环境搭建: 虚拟机内存配置: sysctl -w vm.max_map_count=262144 …

    Java 2023年6月8日
    075
  • Java学习之反射机制及应用场景

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Jav…

    Java 2023年5月29日
    043
  • 替代反射调用的几种方式及性能测试

    园子里和这个话题的相关文章比较多,本文是旧话重提,外加个小的总结。主要因为近期看到很多同事、朋友都已经使用 VS2012 进行 .NET 4.5 开发了,却还在大量使用反射,不知道…

    Java 2023年5月30日
    072
  • 心存好奇,心怀敬意

    走出舒适圈难,是因为走出去,除了要吃学习的苦,还要忍受心里的苦。 看到郭德纲的一段话: 从出生就挨打,一天八个嘴巴。这到 25 岁,铁罗汉活金刚一样,什么都不在乎。吃亏要趁早,一帆…

    Java 2023年6月16日
    067
  • 设计模式–Bulider模式

    起因:最近在做统计计算,创建的实体中属性比较多,都是一些数值,一开始是通过get、set方法进行赋值,占用了很多业务代码方法的长度,可读…

    Java 2023年6月5日
    075
  • 使用metaWebBlog接口实现博客文章同步

    想实现自己的文章一处编写,多处发布到各大平台(比如博客园,CSDN)等要怎么实现呢。需要由这些组成: 一般来说,写文章的软件很容易获得,如果目标平台再有开放接口,我们可以将文章通过…

    Java 2023年5月30日
    044
  • 停止、启动nginx以及在windows下使用dos命令停止占用的端口

    停止nginx程序 停止命令 nginx.exe -s stop 或 nginx.exe -s quit 区别:stop可以快速停止nginx,可能并不保存相关信息;quit是完整…

    Java 2023年6月9日
    069
  • 高斯模糊的Java实现

    1、http://jhlabs.com/ip/index.html java;gutter:true; public static byte[] blur(byte[] data)…

    Java 2023年5月29日
    068
  • 哈工大软件构造(前置篇)

    鉴于本届诸多同学在一开始接触到软件构造课程时出现了对于Github的使用以及对于文件目录的设置等诸多问题,本人虽然很菜,但是愿意写本篇博客以记录一些前置内容的操作方法,如有谬误,敬…

    Java 2023年6月9日
    055
  • mysql

    一:什么情况下设置了索引但无法使用1.以%开头的like语句,模糊匹配2.or语句前后没有同时使用索引3.数据类型出现隐式转化 二:优化数据库的方法1.选取最适用的字段属性2.使用…

    Java 2023年6月5日
    093
  • Java8新特性-方法引用

    方法引用的使用场景 我们用Lambda表达式来实现匿名方法。但有些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作,在这种情况下…

    Java 2023年6月8日
    066
  • JavaBean内省与BeanInfo

    Java的BeanInfo在工作中并不怎么用到,我也是在学习spring源码的时候,发现SpringBoot启动时候会设置一个属叫”spring.beaninfo.ig…

    Java 2023年6月8日
    069
  • Java 将HTML转为XML

    本文介绍如何通过Java后端程序代码来展示如何将html转为XML。此功能通过采用Word API- Free Spire.Doc for Java 提供的 Document.sa…

    Java 2023年5月29日
    062
  • Windows 下 Nginx 配置 多个conf 文件的过程与注意事项

    Windows 下配置 Nginx 使用多个conf 文件的Include 路径与Linux 有所不同。 如上: Windows : include ../conf.d/*.con…

    Java 2023年5月30日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球