naocs 作为服务注册与发现和配置中心

news/2024/9/24 13:43:08

下载和安装

国内的软件,去官网下就行了,下载好后到其 bin 目录执行命令 startup.cmd -m standalone 服务就会启动

浏览器访问,能访问到 nacos 界面

小试牛刀

  1. 工程导入依赖

    <!-- 当前服务注册到 nacos 需要 -->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency><!-- 当前服务如果需要调用别的服务就需要引入(如果不需要就无需引入) -->
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency><!-- 如果需要拉取 nacos 配置中心,需要加入这俩依赖(如果不需要就无需引入) -->
    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    
  2. 启动类加注解

    // 注意没用 @EnableFeignClients,因为当前工程不需要发起远程调用,只是一个示例服务,只要能够注册到 nacos 就行
    @SpringBootApplication
    @EnableDiscoveryClient
    public class SpringbootApplication {public static void main(String[] args) {SpringApplication.run(SpringbootApplication.class, args);}
    }
    
  3. 读取 nacos 配置文件

    @RestController
    @RefreshScope
    public class TestController {// 读取配置文件的 test.username 值@Value("${test.username}")private String username;@GetMapping("/testGetConfig")public String testGetConfig(){return username;}
    }
    
  4. 配置文件,同 consul 一样,也会有两个

    # application.yml,这里配置工程自己的
    server:port: 9002profiles:active: dev# bootrsap.yml,这里配置 nacos 相关的
    spring:application:name: my-nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 # Nacos 服务注册中心地址config:server-addr: localhost:8848 # Nacos 配置中心地址file-extension: yaml # 指定 yaml 格式的配置
  5. 启动服务,刷新 nacos 页面,就能看到我们的服务了

  6. 创建配置,我们是 my-nacos-config-client 服务,环境是 dev,指定的格式是 yaml,当前工程就会到 nacos 拉取 my-nacos-config-client-dev.yaml 这个配置文件

  7. 访问测试

nacos 使用细节

  1. 注册与发现的配置类:com.alibaba.cloud.nacos.NacosDiscoveryProperties
  2. 分布式配置中心的配置类:com.alibaba.cloud.nacos.NacosConfigProperties
  3. 服务分为持久实例和临时实例
    1. 临时(默认):数据保存在内存中,客户端主动发送心跳到客户端,5秒一次,连续 3 次(15s)心跳检测失败视为不健康,连续 6 次(30s)心跳检测失败剔除服务
    2. 持久:需要配置,持久化到磁盘中,服务端主动检测客户端心跳,20 秒一次,一次失败就视为不健康
  4. 数据模型为三元模型:命名空间(namespace,默认 public)、分组(group,默认 DEFAULT_GROUP)、服务(data id)

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

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

相关文章

【工具使用】【EasyExcel 】EasyExcel 实现 Excel 作者信息、版本信息等的写入和读取

1 前言 导入的功能,想必大家都做过,大家肯定也都遇到过比如我的模板变化了(比如新增一列、删除一列等),客户在使用的时候可能还是用的老模板进行导入,那么我们在写代码的时候,应该怎么快速识别到呢? 比如可以比较客户导入的 Excel 一列一列的去比较或者列的个数等是可…

查看pdf的字体,导出电脑的字体

1、 查看PDF文件的使用字体: ⑴、打开PDF文件,右上角,点击【文件】⑵、打开属性⑶、查看字体字体结果:2、 导出字体 ⑴、打开控制面板,小图标下面选择字体⑵、打开字体,查看方式改成【详细信息】,按照名称排序⑶、找到字体缩小窗口,点击字体,拖到桌面上就行了

Exchange 2016部署实施案例篇-04.Ex基础配置篇(中)

昨天更新了基础配置的上篇《Exchange 2016部署实施案例篇-04.Ex基础配置篇(上)》,欢迎各位老铁多多提出宝贵意见,非常感谢。 虚拟目录 自动发现配置有的朋友可能知道,虽然在虚拟目录里有自动发现这个选项,但自动发现记录在图形化界面无法配置自动发现地址,如图所示 其实…

一个故事理解消息队列-下

这是一篇迟到一月有余的文章。 在7月18号,我用了一个故事作为案例,介绍了消息队列的基本功能和应用场景。本打算第二天介绍消息队列的主要功能特性的,由于文章排期等其他因素影响,顾更新搁置了。 这篇文章,接上篇《一个故事理解消息队列-上》,以Kafka为例,为大家介绍消息…

开源文档管理系统 MinDoc 安装和使用教程

说到文档管理,很多团队的文档管理都是一团糟,每个员工在自己本地写了各种 Word 文档、Excel 表格、甚至还有手写的便签,到处都是,找起来就像大海捞针。有些聪明的团队开始用飞书来管理团队文档,但是并不适合所有团队,有的团队可能更倾向于使用开源的方案。今天就给大家介…

git基础知识

git的基础命令git整体操作流程 [1] 本地仓库[2] 远程仓库本地仓库操作流程初始化本地仓库:git init设置签名 git config --global user.name git config --global user.email查看文件的状态:git status工作区文件添加到暂存区:git add暂存区文件提交到本地仓库:git commit …

解决idea创建版本时只有Java21和Java17选项

你是否在使用IntelliJ IDEA创建新项目时遇到了只有Java 21和Java 17的选项?别担心,我们的指南将为你提供解决方案,通过简单的步骤,你将能够选择你需要的任何Java版本,继续阅读,让我们开始吧!idea如果版本高了就会出现在创建Springboot项目时只有Java21和Java17选项 选择jdk1.…

短视频获客系统市场分析和竞品分析

在当前经济环境下,各行各业都面临着严峻的获客挑战。无论是中小企业、大型企业,还是新兴的互联网行业,都在努力寻找更加高效的获客途径,说明企业迫切需要一套创新的获客系统来解决这些难题。 1、市场分析 互联网的快速发展极大地改变了企业的运营模式,尤其是在客户获取方面…