什么是Nacos?

Nacos是阿里巴巴开源的项目,是一个更易于帮助构建云原生应用的动态服务发现、配置管理和服务管理平台。英文全称 Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。

Nacos功能介绍

1、动态配置服务:动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。2、服务发现及管理:动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。3、动态DNS服务:通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。

为什么选择Nacos?

1、易于使用:动态配置管理、服务发现和动态的一站式解决方案;20多种开箱即用的以服务为中心的架构特性;基本符合生产要求的轻量级易用控制台。2、更适应云架构:无缝支持Kubernetes和Spring Cloud;在主流公共云上更容易部署和运行(例如阿里云和AWS);多租户和多环境支持。3、生产等级:脱胎于历经阿里巴巴10年生产验证的内部产品;支持具有数百万服务的大规模场景;具备企业级SLA的开源产品。

4、丰富的应用场景:支持限流、大促销预案和异地多活;直接支持或稍作扩展即可支持大量有用的互联网应用场景;流量调度和服务治理。

准备环境

在开始之前,请安装以下组件(官方推荐):

64位操作系统:支持Linux/Unix/Mac/Windows,建议使用Linux/Unix/Mac(本次演示在Windows系统)。
64位JDK 1.8版本及以上。
Maven 3.2.x版本及以上。

下载源码或者安装包

Nacos可以通过源码或者发行包两种方式下载。

1)从Github下载源代码

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/ // change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

2)下载编译后压缩包方式

https://github.com/alibaba/nacos/releases

建议选择稳定版本(将$version替换成版本号):

unzip nacos-server-$version.zip  OR tar -xvf nacos-server-$version.tar.gz
cd nacos/bin

Windows版本直接使用解压工具即可。

启动Nacos Server服务

Linux/Unix/Mac操作系统,执行命令如下:

sh startup.sh -m standalone

如果使用的是ubuntu系统,或遇到此错误消息(找不到符号),请尝试方式运行:

bash startup.sh -m standalone

Windows 操作系统,执行命令如下:

cmd startup.cmd

服务与配置管理nacos server访问地址:http://127.0.0.1:8848/nacos/nacos默认账户密码:nacos/nacos

1、服务注册在控制台中手动添加配置信息如下:

curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=blog.yoodb.com&ip=123.57.47.154&port=443"

参考如图所示:

参数含义

服务名:blog.yoodb.com
保护阈值:0
分组(默认):DEFAULT_GROUP

2、服务发现参考服务注册此步跳过

curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=blog.yoodb.com"

3、发布配置

在命令行执行如下命令,向Nacos Server中添加一条配置,也可在控制台中手动添加。

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP&content=helloWorld"

参考如图所示:

参数含义

dataId:blog.yoodb.com
group:TEXT_GROUP
配置内容:helloWorld

4、获取配置参考发布配置此步跳过。

curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=blog.yoodb.com&group=TEXT_GROUP"

Spring Cloud 从入门到精通(一)Nacos 服务中心初探的更多相关文章

  1. Spring Cloud 从入门到精通

    Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量. 本 ...

  2. Spring Cloud Alibaba入门实战之nacos(一)

    Spring Cloud Alibaba入门实战之nacos(一) 前情介绍 ​ Spring Cloud Alibaba 是阿里巴巴提供的新一代的微服务解决方案,相信会有越来越多采用微服务架构的公司 ...

  3. Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

    通过本教程的前两篇: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方 ...

  4. 主流微服务一站式解决方案Spring Cloud Alibaba入门看这篇就足够了

    学习路线 **本人博客网站 **IT小神 www.itxiaoshen.com 生态概述 架构演进 什么是微服务 https://martinfowler.com/microservices/ Mic ...

  5. Spring Cloud 快速入门

     Spring Cloud快速入门 代码地址: https://gitee.com/gloryxu/spring-cloud-test EureKa:服务注册中心 添加依赖 <dependenc ...

  6. Spring Cloud Gateway入门

    1.什么是Spring Cloud GatewaySpring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技 ...

  7. Spring Cloud Alibaba | Nacos服务中心初探

    目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...

  8. Spring Boot从入门到精通(二)配置GitHub并上传Maven项目

    简单介绍一下GitHub,它是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线,除了Git代码仓库托管 ...

  9. Spring Boot从入门到精通(五)多数据源配置实现及源码分析

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

随机推荐

  1. leetcode:在 D 天内送达包裹的能力

    链接:https://leetcode-cn.com/problems/capacity-to-ship-packages-within-d-days/ 我是按照这个思路来做的. 如果随便给一个船的运 ...

  2. 微信小程序 -- 基于 movable-view 实现拖拽排序

    微信小程序 -- 基于 movable-view 实现拖拽排序 项目基于colorui样式组件 ColorUI组件库 (color-ui.com) 1.实现效果 2. 设计思路 movable-vie ...

  3. 摆脱鼠标之Dos学习

    2015/12/24 for循环 1,创建文件 http://blog.csdn.net/wangxingbao4227/article/details/17009447 关于for循环的总结,很详细 ...

  4. Docker开启安全的TLS远程连接

    目录 1.1 不安全的远程访问方式 1.1.1 编辑docker.service文件: 1.1.2 重新加载Docker配置生效 1.1.3 警告! 2.1 建立基于TLS数字签名的安全连接 1.1 ...

  5. 大白话带你认识JVM

    如果在文中用词或者理解方面出现问题,欢迎指出.此文旨在提及和而不深究,但会尽量效率地把知识点都抛出来 一.JVM的基本介绍 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出 ...

  6. DOS命令行(7)——Windows网络检测与诊断

    ping ping 命令的作用是通过发送"网际控制报文协议(ICMP)"回响请求消息来验证另一台TCP/IP计算机的IP级连接状态,回响应答消息的接收情况将和返回过程的次数一起显示 ...

  7. 关于MySql数据库误操作数据找回的办法

    先讲个事,前段时间,系统长时间不用的一个功能被开放出来了,想当然的我没有在测试平台上测试,直接操作了正式系统(的确是我不严谨),导致好多数据异常,页面展示错乱了.于是我想到的第一个就是进行备份还原.项 ...

  8. OO unit4 summary

    Unit4 一.第四单元作业的架构设计 第四单元个人认为主要是考察对于层次结构的理解,即如何理解并处理好UML图的树状结构组织,在理好层次之间以及层次内部的相互关系之后,就只剩下代码实现的问题了.但是 ...

  9. UnityPlayerActivity.java使用或覆盖了已过时的 API。

    Root\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 ...

  10. C#调用JAVA(一)制作jar包

    1 //AndroidJavaClass类可以理解为某一个类 2 //AndroidJavaObject类可以理解为某一个类中的一个对象 打开AS,创建一个空项目 输入项目名,包名,本地路径以及语言之 ...