Nacos的简介及安装和使用

Nacos的简介及安装和使用

    • 1. Nacos简介
      • 1.1 核心特性
      • 1.2 常见的注册中心
      • 1.3 Nacos结构图
    • 2. 如何安装和配置Nacos?
      • 2.1 Nacos的安装
      • 2.2 如何使用Nacos?

1. Nacos简介

​ Nacos是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴开发和维护。

​ Nacos支持多种注册中心和配置管理器,包括Spring Cloud Discovery、Dubbo、Kubernetes和Apache ServiceComb等。

​ Nacos提供了REST、gRPC和Java SDK等多种API,使得开发人员可以轻松地与Nacos进行交互

1.1 核心特性

  • 配置管理:Nacos提供了统一的配置管理平台,可以帮助用户集中管理不同环境的配置信息。用户可以通过Nacos的控制台或API进行配置的新增、修改、删除等操作,并且支持配置的版本管理。
  • 服务发现和注册:Nacos提供了服务注册和发现的功能,可以帮助用户快速发现和访问服务。服务提供者在启动时将服务的元数据注册到Nacos,服务消费者通过Nacos获取服务提供者的地址信息,并进行调用。
  • 动态配置:Nacos支持动态配置,可以在不停机的情况下动态修改配置信息。例如,可以通过Nacos修改数据库连接池的最大连接数,而不需要重启应用。
  • 健康检查:Nacos提供了健康检查的功能,可以检测服务的可用性。当服务不可用时,Nacos会自动将该服务从服务列表中剔除。
  • 路由策略:Nacos支持多种路由策略,可以根据不同的规则将请求路由到不同的服务提供者。

1.2 常见的注册中心

  • ZooKeeper:ZooKeeper 是一个高性能的分布式协调服务,它可以作为注册中心和配置中心。它最初是由雅虎开发的,现在是 Apache 的顶级项目之一。ZooKeeper 的主要优点是可靠性和稳定性,但它需要对分布式系统的概念有一定的了解。你可以在这里找到有关 ZooKeeper 的更多信息:ZooKeeper 官方文档
  • Consul:Consul 是一个由 HashiCorp 开发的服务网格解决方案,它包括服务发现、配置、安全和流量管理等功能。Consul 的优点是易于使用和部署,同时提供了广泛的 API 和插件支持。你可以在这里找到有关 Consul 的更多信息:Consul 官方文档
  • Eureka:Eureka 是 Netflix 开发的一个服务发现组件,它提供了强大的客户端库和服务端组件。Eureka 的优点是易于使用和部署,同时具有高可用性和可扩展性。你可以在这里找到有关 Eureka 的更多信息:Eureka 官方文档
  • Nacos:相对于 Spring Cloud Eureka 来说,Nacos 更强大。
    Nacos = Spring Cloud Eureka + Spring Cloud Config
    Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config。

1.3 Nacos结构图

请添加图片描述

2. 如何安装和配置Nacos?

2.1 Nacos的安装

​ 首先,你需要下载Nacos的安装包,你可以从Nacos的官方网站上下载:https://github.com/alibaba/nacos/releases(我用的是1.4.1的版本)
在这里插入图片描述

解压下载的安装包,进入解压后的目录。

  • bin:启动脚本
  • conf:配置文件
    请添加图片描述
    端口配置

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。

如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
在这里插入图片描述

运行bin目录下的startup.sh(Linux/MacOS)或startup.cmd(Windows)脚本,启动Nacos服务。
在这里插入图片描述
然后 cmd 进入该目录执行命令即可:

startup.cmd -m standalone

在这里插入图片描述
打开浏览器,访问http://localhost:8845/nacos,如果能够看到Nacos的登录页面,则说明Nacos已经成功安装并启动。
在这里插入图片描述
默认的账户和密码均为:nacos

第一次使用时,不存在任何信息,图中数据忽略不计😂
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pw0EANKg-1683802455238)(D:\Typora\笔记\Nacos\image-20230511184245951.png)]

2.2 如何使用Nacos?

Nacos是一种服务注册和发现的工具,可以帮助我们管理微服务架构中的组件。下面是使用Nacos进行服务注册和发现的基本步骤:

在应用程序中添加Nacos客户端依赖项,例如在Maven项目中添加以下依赖项:

父工程:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

客户端:

<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在应用程序中添加Nacos客户端配置,例如在Spring Boot应用程序中,可以在application.properties文件中添加以下配置:

#nacos服务地址 我的是8845端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8845
#服务名(该服务创建成功后为与public下)
spring.cloud.nacos.discovery.namespace=your-namespace

其中server-addr是Nacos服务器的地址和端口号,namespace是Nacos的命名空间,用于隔离不同的环境。

在应用程序中添加服务注册和发现的注解,例如在Spring Boot应用程序中,可以使用@EnableDiscoveryClient注解启用服务注册和发现功能。

@SpringBootApplication
@EnableDiscoveryClient
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

在应用程序中注册服务,例如在Spring Boot应用程序中,可以使用@RestController注解定义一个RESTful服务。

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}

在Nacos控制台中查看已注册的服务,可以在浏览器中访问http://localhost:8845/nacos/index.html,并使用Nacos的默认用户名和密码登录。

  • 使用服务注册和发现,您可以轻松地将服务注册到Nacos,并从Nacos发现其他服务。
  • 使用配置管理,可以轻松地管理和配置应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/481358.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OCP NVME SSD规范解读-14.Firmware固件升级要求

4.11节 Firmware Update Requirements 描述了数据中心NVMe SSD固件更新的具体要求&#xff0c;确保固件升级过程既安全又可靠&#xff0c;同时充分考虑了设备在升级过程中的可用性和功能性。 FWUP-1: 设备必须记录每一次固件激活过程。这意味着固件升级过程中&#xff0c;设备会…

SpringSecurity6.x

文章目录 一.什么是SpringSecurity二.SpringSecurity的特征三.SpringSecurity的第一个例子3.1 创建SpringBoot项目3.2 创建IndexController3.3 创建index.html3.4 启动项目3.5 Spring Security默认做了什么 四.SpringSecurity的整体架构4.1 Filter4.2 DelegatingFilterProxy4.3…

走进 Mybatis 内核世界:理解原理,释放更多生产力

目录 一、MyBatis 特点 二、 接口绑定实现原理 三、SpringBoot 加载 MyBatis 源码分析 四、MyBatis 执行性 五、MyBatis 分页原理 5.1 逻辑分页(内存分页) 5.2 物理分页 六、MyBatis 缓存 6.1 一级缓存 6.2 二级缓存 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自…

网站引入 Prism,使得代码高亮显示,并一键复制代码块

曾几何时&#xff0c;苦恼如何将本地写好的博文&#xff0c;更好的展示读者屏幕前&#xff1f;若只是简简单单的文章&#xff0c;其实还是很好的解决它的&#xff01;可是&#xff0c;像我们这样写技术文章&#xff08;有点牵强&#xff09;的&#xff0c;在文章内容嵌入部分代…

【文献分享】Quantum Self-Consistent Ab-Initio Lattice Dynamics

题目&#xff1a;Quantum Self-Consistent Ab-Initio Lattice Dynamics 链接&#xff1a;Redirecting 量子自洽从头算晶格动力学 量子自洽Ab-Initio晶格动力学软件包&#xff08;QSCAILD&#xff09;是一个python库&#xff0c;用于计算晶体中与温度相关的有效2级和3级原子间…

【Java多线程】多线程的三种实现方式和多线程常用方法

目录 1、多线程的三种实现方式 1.1、继承Thread类的方式进行实现 1.2、实现Runnable接口的方式进行实现 1.3、利用Callable接口和Future接口方式实现 1.4、三种实现方式的优缺点 2、多线程常用方法 1、多线程的三种实现方式 在main()方法中&#xff0c;你可以创建和启动…

STL —— string(2)

本篇文章主要讲解string的用法。 目录 1. 迭代器&#xff08;Iterators&#xff09; 1.1 begin() 和 end() 1.2 rbegin() 和 rend() 2. 容量操作&#xff08;capacity&#xff09; 2.1 size()、length()、maxsize() 2.2 capacity() 2.3 empty()、clear() 2.4 reserve…

罗德与施瓦茨联合广和通全面验证RedCap模组FG132系列先进性能

近日&#xff0c;罗德与施瓦茨联合广和通完成Redcap(Reduce Capability)功能和性能验证。本次测试使用R&SCMX500 OBT(One Box Tester)无线通信测试仪&#xff0c;主要验证广和通RedCap模组FG132系列射频性能以及IP层吞吐量&#xff0c;包括RedCap上下行吞吐量和射频指标如矢…

【技巧】ChatGPT Prompt 提示语大全

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 主要来自&#xff1a;https://github.com/f/awesome-chatgpt-prompts ChatGPT SEO提示 Contributed by: StoryChief AI Reference: 7 Powerful ChatGPT Prompts to Create SEO Content Faster 供稿人&#xff1a;…

ruoyi-nbcio-plus基于vue3的flowable增加开始节点的表单绑定修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

Python文件读写操作

文件操作注意点 注意点&#xff1a; 1. for line in file --> 会将偏移量移到末尾 2. buffering1 --> 缓冲区中遇到换行就刷新&#xff0c;即向磁盘中写入 3. 读操作结束后&#xff0c;文本偏移量就会移动到读操作结束位置 """编写一个程序,循环不停的写入…

快速区分清楚图形渲染中的AABB,KD树和BVH这些概念

快速区分清楚图形渲染中的AABB&#xff0c;KD树和BVH这些概念 主要想形象去区分好这些术语&#xff0c;目的是扫盲&#xff0c;先开好坑&#xff0c;内容持续填充。 0.先摆出这些词的全称 AABB&#xff1a; 原名&#xff1a;axis aligned bounding box&#xff1b;中文直译名…

Java语法学习八之认识String类

String类的重要性 在C语言中已经涉及到字符串了&#xff0c;但是在C语言中要表示字符串只能使用字符数组或者字符指针&#xff0c;可以使用标准库提供的字符串系列函数完成大部分操作&#xff0c;但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想&#xff0c;而…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow&#xff1a; Git flowGithub flowGitlab flow 三种工作流程&#xff0c;有一个共同点&#xff1a;都采用"功能驱动式开发&…

计算机二级Python基础操作题

题目来源&#xff1a;计算机二级Python半个月抱佛脚大法&#xff08;内呈上真题版&#xff09; - 知乎 第4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;9&#xff0c;10&#xff0c;11套 1. 基础题1 sinput() print("{:\"^30x}".format(eval(s))) b …

xilinx linux AXI GPIO 驱动学习

vivado工程 vivado 配置一个 AXI GPIO&#xff0c; 全输出&#xff0c;宽度为1 设备树解读 生成的对应pl.dtsi设备树文件如下 axi_gpio: gpio40020000 {#gpio-cells <2>;clock-names "s_axi_aclk";clocks <&clkc 15>;compatible "xlnx,…

海外盲盒App开发:探索惊喜与乐趣的跨国新体验

在全球化日益加速的今天&#xff0c;人们对新鲜、有趣、充满惊喜的体验需求不断增长。盲盒作为一种充满神秘与乐趣的玩法&#xff0c;正迅速在全球范围内走红。为了满足广大海外用户的盲盒体验需求&#xff0c;我们致力于开发一款海外盲盒App&#xff0c;为用户带来跨国界的惊喜…

C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码

1 无向连通图中长度为n环 给定一个无向连通图和一个数n,计算图中长度为n的环的总数。长度为n的循环仅表示该循环包含n个顶点和n条边。我们必须统计存在的所有这样的环。 为了解决这个问题,可以有效地使用DFS(深度优先搜索)。使用DFS,我们可以找到特定源(或起点)的长度…

高精度AI火灾烟雾检测算法,助力打造更加安全的楼宇环境

一、方案背景 近日&#xff0c;南京居民楼火灾事故导致15人死亡的新闻闹得沸沸扬扬&#xff0c;这一事件又激起了大家对楼宇火灾隐患的进一步担忧。事后我们除了思考政府、消防及物业部门应对此事的解决办法&#xff0c;我们还应该思考如何利用现有的技术帮助人们减少此类事情的…

手撕算法-无重复字符的最长子串

描述 分析 滑动窗口&#xff0c;记录窗口中的所有出现的字符&#xff0c;然后窗口左边界固定&#xff0c;右边界右滑&#xff0c;如果&#xff0c;窗口中不存在新的字符&#xff0c;则右滑成功&#xff0c;否则左边界右滑&#xff0c;直到窗口中不存在右边界的值。 描述感觉不…