SpringCloud(二):基于Nacos的安装注册中心与服务注册,以及配置中心

本文介绍了如何安装运行Nacos,服务注册到Nacos的步骤,包括添加依赖、配置文件修改及注解使用。接着讲解了Nacos与OpenFeign、Gateway的集成注意事项。详细阐述了服务分级存储模型(集群)的配置,并展示了如何根据集群实现负载均衡。此外,还提到了Nacos的配置文件中心功能,包括配置文件的创建、读取及多环境配置。最后总结了Nacos的关键配置和使用。
摘要由CSDN通过智能技术生成

编写:HorinJsor


前言

大致了解Eureka后,认识一下和Nacos的相同点。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装并运行Nacos

nacos的github地址链接

无法进入GitHub可以试试修改host文件:C:\Windows\System32\drivers\etc
添加内容:127.0.0.1 activate.navicat.com

1、安装解压后进入bin目录打开命令行:
(standalone代表配置模式为单机启动)

startup.cmd -m standalone

2、登陆服务注册中心,账号密码为nacos。

二、服务注册到Nacos

1.父工程添加依赖:在父工程中添加spring-cloud-alilbaba的管理依赖

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

2.子工程添加依赖:在子工程(需要注册到Nacos的模块)中添加nacos依赖

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

3.配置文件:修改子工程中的application.yml文件,添加nacos地址(若原项目是eureka,记得注释去掉eureka地址):

spring:
  cloud:
    nacos:
      server-addr: localhost:8848  # nacos 服务端地址 
      username: nacos
      password: nacos
      discovery: #环境隔离
      	namespace: xxx  #在naocs中复制命名空间那串字符
		group: xxx #组名

在这里插入图片描述


4.在启动类添加注解:@EnableDiscoveryClient


三、Nacos集成OpenFeign和Gateway注意事项

OpenFeign: 可以单独一个模块(当作API),也可以在一个消费者模块中集成。

Gateway: 单独注册一个模块集成。使用 @EnableDiscoveryClient 注解注册到Nacos。

具体方式参照:
SpringCloud(三):Feign远程调用
SpringCloud(四):Gateway网关


*四、服务分级存储模型(集群)

1.修改子项目(需要注册的服务模块)配置文件application.yml,添加如下内容:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos 服务端地址
      discovery:
        cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州

2.在Nacos控制台可以看到集群变化

在这里插入图片描述


3.扩展:搞Nacos集群

3.1、解压多份Nacos压缩文件。
在这里插入图片描述


3.2、修改第一个Nacos的cluster.conf文件
在这里插入图片描述


3.3、修改每一个Nacos的的application.properties文件为自己的端口号
在这里插入图片描述


3.4、启动每一个Nacos的cmd启动文件


*五、根据集群负载均衡

1.修改子项目(需要注册的服务模块)中的application.yml,设置集群为HZ:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos 服务端地址
      discovery:
        cluster-name: HZ # 配置集群名称,也就是机房位置

2.在子项目(需要注册的服务模块)中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务:

本地集群无实例时,会跨域访问其他的实例。

userservice:#要消费的服务名称
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 

五、Nacos常用配置

在这里插入图片描述


六、Nacos配置文件中心

1.登录Nacos,新增一个配置文件

在这里插入图片描述


2.添加依赖:在任一服务项目添加依赖

<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

3.修改配置文件名称:项目中添加一个配置文件 bootstrap.yml (或者修改application.yaml 文件名称)

在这里插入图片描述

4.修改配置文件:指定要读取的文件

单文件:

server:
	port: 8080
	
spring:
	application:
		name: config-client-a
	cloud:
		nacos:
			config: 
				server-addr: localhost:8848 #nacos地址
				username: nacos
				password: naocs
				file-extension: properties  #配置文件类型
				prefix: xxx #配置文件名称。默认会去拿 ${spring.application.name} 的服务名称

多文件(同一命名空间,不同的组别):

server:
	port: 8080
	
spring:
	application:
		name: config-client-a
	cloud:
		nacos:
			config: 
				server-addr: localhost:8848
				namespace: 5510ef39-ca9a-4f5d-87ba-7fb2afbf7035 # 命名空间 注意使用 id
				extension-configs: # 配置多个配置文件 数组形式
					- data-id: config-a.yml # 配置 id,必须要加文件后缀
						group: GROUP_A # 组别
						refresh: true # 是否支持刷新,取代下面的@RefreshScope注解
					- data-id: config-b.yml
						group: GROUP_B
						refresh: fals

*5.分环境读取文件(问题有点多,不建议使用)

目标:读取nacos-config-dev.yml文件
在这里插入图片描述

此方式要在配置中心加入后缀:比如.yml

  • 上:不能读取;
  • 下:可以读取。

在这里插入图片描述


@RefreshScope:此注解放到类上,用于自动刷新拉取配置文件。


总结

冲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值