一 naocs注册中心步骤
1 nacos下载安装
- 解压安装包,直接运行bin目录下的startup.cmd
这里双击运行出现问题的情况下 (版本低的naocs)
在bin目录下 打开cmd 运行以下命令
startup.cmd -m standalone
访问地址:
http://localhost:8848/nacos
#账号密码都是nacos
2 服务注册
- 引入依赖
- 配置nacos地址
- 启动类上添加这个注解 (可被注册发现)
- 重启对应模块
1 引入依赖
<!--nacos 服务注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2 配置nacos地址
spring:
application:
name: ??? # 服务名称
cloud:
nacos:
server-addr: 127.0.0.1:8848 # nacos地址 (若配置在虚拟机填写虚拟的IP地址)
3 启动类上添加这个注解 (可被注册发现)
@EnableDiscoveryClient
4 重启对应的模块
打开nacos 在服务列表查看是否注册成功
二 openfeign实现模块之间的调用
- 添加依赖
- 创建feign包,管理接口
- 启动类上添加注解
1 添加依赖
<!--openFeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--负载均衡器-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
2 创建feign包,管理接口,
这里还可以抽取一个api模块出来,这里没有进行抽取。
这里是member模块向coupon模块发起请求
3 启动类上添加注解,启动OpenFeign功能:
同时给出feign的包的地址,以进行扫描接口
三 nacos实现配置管理
- 添加依赖
- 项目中创建/src/main/resources/bootstrap.yml
1 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2 项目中创建/src/main/resources/bootstrap.yml,优先级别比application.properties高
spring:
application:
name: gulimall-coupon
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml # 指定配置文件为yaml格式
namespace: aff249f4-bcc3-477f-8771-819af4039145
ext-config:
- data-id: datasource.yaml #下面的这些配置对应nacos中创建的配置文件
group: dev #开发环境
refresh: true #开启刷新
- data-id: mybatis.yaml
group: dev
refresh: true
- data-id: other.yaml
group: dev
refresh: true
下面是我的nacos配置文件,上面的ext-conffig属性对应nacos中的配置文件
在nacos中创建新的配置文件
这里采用的是根据命名空间区分各个模块,模块多的情况下,可抽取公共配置动态导入配置,减少重复工作。
四 getway的基本使用测试
- 引入依赖
- 配置bootstrap.yml
- 配置bootstrap.yml
- 测试
1 引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2 配置bootstrap.yml
(other.yml在nacos配置中心配置spring的相关信息)
spring:
application:
name: gulimall-gateway
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml # 指定配置文件为yaml格式
namespace: ef267531-e7e7-45fd-a9fa-578434989b7b
ext-config:
- data-id: other.yaml
group: dev
refresh: true
3 application.yml中配置路由
spring:
cloud:
gateway:
routes:
- id: test_route
uri: http://www.baidu.com
predicates:
- Query=url,baidu
- id: qq_route
uri: http://www.qq.com
predicates:
- Query=url,qq
4 测试
随后测试即可 访问 http://localhost:88?url=baidu