Springcloud Nacos基本操作代码实例
作者:梦泽千秋 发布时间:2023-07-07 18:24:22
Nacos是什么
和Eureka,zookeeper,consul相同,Nacos也是一个注册中心组件咯,当然是,不过它不仅仅是注册中心。Nacos也是一个配置中心,比如SpringCloud中的Config,将配置文件版本化管理。那么Nacos到底是什么呢, 总结为官网一句话就是:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
下面仅介绍nacos的配置,不涉及深层的原理。
1.安装和下载
https://github.com/alibaba/nacos/releases
选择合适稳定的版本即可。下载完直接解压即可。
2.使用注意事项
启动单个nacos如果报错可以先去配置好数据库模式和单机模式启动。
conf文件夹下找到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=root
同理此目录下还有数据库的一些文件。导入自己的MySQL中
配置单机模式,在bin目录下面找到startup.cmd文件更改,设为standalone单机模式。
在bin目录下面启动cmd窗口,然后运行startup.cmd即可启动。默认端口8848访问地址
http://localhost:8848/nacos/
密码也是默认nacos
3.服务注册
编写测试的服务注册应用。
关键的pom依赖,其他的和之前的cloud应用一样。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
yml文件
server:
port: 9003
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置Nacos地址
management:
endpoints:
web:
exposure:
include: '*'
测试controller
@RestController
public class PaymentController {
@Value("${server.port}")
private String serverport;
@GetMapping(value = "/payment/nacos/{id}")
public String getpayment(@PathVariable("id") Integer id){
return "Hello Nacos Discovery: " + serverport + "\t id: " + id;
}
}
启动项目发现
在服务列表可以查看到,而且很多详细信息可以自行查看,且配置多个项目的时候,nacos可以自带负载均衡的功能。
4.配置中心
之前在config和bus中为了完成消息配置等的同步和全局广播需要费很大的功夫,而nacos直接省去了很多的复杂操作,用可视化的操作完成了config的配置。
创建配置应用类
pom关键的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud ailibaba nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
application.yml
spring:
profiles:
# active: dev #表示开发环境
# active: test
active: info
bootstrap.yml,比application的权限更大
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式配置
group: TEST_GROUP
namespace: 8f9b7283-0c9a-45f8-92d5-ca116f3ed1b9
#${prefix}-${spring.profile.active}.${file-extension} dataid的格式
# ${spring.application.name}-${spring.profile.active}.${file-extension}
# nacos-config-client-dev.yml
配置类controller
@RestController
@RefreshScope
public class ConfigController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
在配置中心配置信息。
用自己的controller测试。
成功访问到配置的信息(此处是我之前设置好的其他配置信息)
一些配置信息含义
命名空间可以自己设置,相当于不同的工作区间。
在自己的yml文件中设置好不同的信息,就可以匹配不同地方的信息。
暂时的一些基本使用信息就这些,下章继续nacos的集群操作。
本篇所有代码均在GitHub:
https://github.com/MaTsukun/springcloud2020
来源:https://www.cnblogs.com/lin530/p/13992804.html


猜你喜欢
- 本文实例讲述了Android编程之自定义锁屏。分享给大家供大家参考,具体如下:花了半天时间研究下了自定义锁屏,发现其实实现并不是很神秘。不过
- 一、API简介Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断
- NavMesh(导航网格)是3D游戏世界中用于动态物体实现自动寻路的技术。NavMesh系统是人工智能的一种,它使用一个添加在游戏对象上或者
- 本期文章源码:GitHub一文彻底搞懂《并查集》!概念并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。
- 一、创建资源文件可以将字符串、图像或对象数据等资源包含在资源文件中,方便应用程序使用。创建资源文件的方法:1、手动或使用IDE工具自动生成X
- mybatis-generator生成文件覆盖在Idea中使用Mybatis-generator plugin时遇到的问题,我的mybati
- Android的硬件抽象层,简
- 概述透视表是依据已有数据源来创建的交互式表格,我们可在excel中创建透视表,也可编辑已有透视表。所需工具:Free Spire.XLS f
- 前言在前后端分离的应用中,前端往往需要向后端发送命令请求,并将请求中的数据以Json格式传递。后端需要将Json格式的数据反序列化成Java
- (1)很多朋友在使用genymotion开发安卓应用程序的时候,会遇见完全正确的安装但是在运行的时候仍然找不到,genymotion上的设备
- 本文主要介绍了Java实现雪花算法(snowflake),分享给大家,具体如下:简单描述最高位是符号位,始终为0,不可用。41位的时间序列,
- C#申请一个大数组(Use a large array in C#)在C#里,有时候我需要能够申请一个很大的数组、使用之、然后立即释放其占用
- 分类1.简单工厂模式2.工厂方法模式3.抽象工厂模式案例需求根据蛋糕的不同口味,分别创建苹果味和香蕉味的蛋糕实例方案一:简单工厂模式定义蛋糕
- 移动端微信消息页实现在上一篇中主界面实现说过微信四个页面中间都是是fragment的,并且四个fragment的布局都还没实现,所以这一篇主
- 说起观察者模式,估计在园子里能搜出一堆来。所以写这篇博客的目的有两点:1.观察者模式是写松耦合代码的必备模式,重要性不言而喻,抛开代码层面,
- 前言最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨
- 这篇文章主要介绍了spring boot如何配置请求的入参和出参json数据格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一
- 近期公司要做报表功能,在网上搜索下表格的样式后便自己写了一个自定义的表格控件,该表格控件能根据设置的数据中数据的最大值自动设置左侧信息栏显示
- 我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可
- jar包打包实现jar包打包可以使用jar指令实现打包,在命令行中输入jar可以查看jar指令的内容 从最后显示的两个示例看出存在两种打包的