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
猜你喜欢
- 您已经看到很多包含视频内容的应用程序,比如带有视频教程的食谱应用程序、电影应用程序和体育相关的应用程序。您是否想知道如何将视频内容添加到您的
- mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但
- 仅供学习交流,禁止商业用途。如侵害利益,联系必删!前言最近一位小伙伴钟爱二次元文化,于是找到半次元这个app,但是很快他就遇到了问题。一、案
- 在android开发中,经常会遇到一个view需要它能够支持滑动的需求。下面通过本篇文章给大家介绍android view移动的六种方法。l
- 一、反射概述反射机制指的是Java在运行时候有一种自观的能力,能够了解自身的情况为下一步做准备,其想表达的意思就是:在运行状态中,对于任意一
- 可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种
- 前言本文主要给大家介绍的是关于Java对xls文件进行读写操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:wi
- Spring Security 过滤器链及自定义Filter别名类名称Namespace Element or AttributeCHANN
- 前言 短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天
- @ApiImplicitParam作用在方法上,表示单独的请求参数参数name:参数名。value:参数的具体意义,作用。required:
- Java是面向对象的编程语言,在我们开发Java应用的程序员的专业术语里,Java这个单词其实指的是Java开发工具,也就是JDK(Java
- 首先:因为工作需要,需要对接socket.io框架对接,所以目前只能使用netty-socketio。websocket是不支持对接sock
- 被kafka-client和springkafka版本坑上周刚刚欢天喜地的在linux上部了kafka,这周打算用spring-boot框架
- MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoD
- 前言悬浮窗是一种比较常见的需求。例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情。本文给出一个简单的应用内悬浮窗实现。可
- 测试参数设置:1、循环调用new A()实现堆溢出,java.lang.OutOfMemoryError: Java heap space,
- 以前就遇到过这个问题,今天重新拾起来。跑马灯效果其实就是当文字超过TextView控件宽度的时候,使用滚动的方式显示出来:方法1:(直接xm
- ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分
- 前言之前采取项目中嵌套html页面,实现基本的登录校验、权限校验、登出操作、记住我等功能试下。但是,现在的开发基本都是前后分离样式,后端并不
- 1. 前言Spring的核心技术IOC(Intorol of Converse控制反转)的实现途径是DI(dependency Insert