[小白学Nacos] Nacos安装,部署,配置,快速入门
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。话不多说正片开始。
·
Nacos简介
-
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。话不多说正片开始。
-
Nacos安装和启动
- nacos可以直接在GitHub下载,选择所需的版本下载即可。下方放置下载链接。
- nacos对应GitHub下载链接
- 进入链接后,选择所需版本并点击对应格式下载
- 下载完成后解压可以看到如下目录
- 我们可以通过修改config目录下的 application.properties 文件修改nacos配置。比如端口号,其默认值为8848,是一个非常成功人士的端口,一般情况下无需修改。
- 完成上述操作后我们可以试着启动nacos,首先进入bin目录下,路径栏输入cmd 进入命令行窗口,输入 startup.cmd -m standalone 即可启动nacos。成功界面如下
startup.cmd -m standalone
-
-
然后我们cv红框处的网址即可进入nacos图形界面工具
-
-
nacos的服务注册
- 现在我们就来将我们的服务注册进nacos
- 首先我们引入nacos服务发现依赖
-
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
- 其次在配置文件(yaml格式)进行如下简单nacos配置
spring:
application:
name: orderserver #注册的服务名称
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
discovery:
cluster-name: HZ #设置集群名称
- 现在我们启动该服务,即可在nacos图形界面的服务列表中找到我们的服务
- 现在我们的服务就已经注册完成了,
-
利用图形化界面配置服务
- 现在我们在注册user服务并实现热更新式配置
- 首先引入nacos配置依赖
-
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
- 然后在user服务资源文件夹下创建 bootstrap.yml(优先于application.yml文件读取,以提前获得nacos地址用于读取存放在nacos的远程配置,) 文件,并写入如下代码
spring:
application:
name: userservice #服务名称
profiles:
active: dev #服务所处环境,dev表示开发环境
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
config:
file-extension: yaml #nacos远程配置格式
- 启动服务
-
现在我们来到图形化界面,打开配置管理>>配置列表,点击创建配置打开如下界面
-
-
其中dataid的格式是固定的: “服务名”+ “-”+“环境名” .格式名,分别对应bootstrap.yml文件中的userservice , dev, yaml。 所以我的dataid就是: userservice-dev.yaml
-
描述按情况写
-
选择格式为yaml
-
配置内容我就以日期格式化的模板为例,结果如下
-
-
点击发布,我们就完成了远程配置
-
值得注意的是,如果不指定服务环境,即可命名为:userservice.yaml。它将对所有环境的用户服务生效。如果同一个配置同时存在上述两种配置和代码中的本地配置则: userservice-dev.yaml > userservice.yaml > 本地配置
-
最后一步,回到我们的代码上,如下声明一个类:
-
import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @ConfigurationProperties(prefix = "pattern") //这里的prefix用来指明前缀 @Data @Component public class Pattern { private String dateformat; //这里变量名必须是配置的名称 }
-
现在这个类已经在spring容器中了,我们就可以直接通过自动装配在服务的其他地方用Pattern对象获取字符串:yyyy/MM/dd HH:mm:ss 了
-
@Autowired private Pattern dateformat; @GetMapping("/now") public String getNow(){ log.info("dataformat: {}", dateformat); return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat.getDateformat())); }
-
ok,现在我们启动服务,输入http://localhost:端口号/user/now 就可以获得格式化后的日期了
-
-
注意:我们这样实现的热更新配置在更改nacos管理的远程配置时,无须重启即可生效
-
结束
- 以上就是nacos·的入门介绍,未来将更新nacos的负载均衡策略,新人作者,多多关照哈~拜拜↑拜拜↓拜拜↑
更多推荐
所有评论(0)