准备:
下载nacos 到本地 (https://github.com/alibaba/nacos/releases),解压后进入到nacos\bin目录下,双击运行 startup.cmd,不要关闭cmd黑窗口,在浏览器中输入 localhost:8848(端口号是nacod默认的,可配置) ,默认账号密码都是nacos ,进入到nacos左边列表中的服务列表项目,就是注册的服务列表,


目的:在spring cloud 中创建spring boot项目,使用nacos 注册中心, zuul 进行路由分发统一端口号
一.建立多个spring boot项目
api-gateway:用来配置路由分发功能
auth:准备用来配置权限功能
discover-service/order-service : 普通服务功能

二、开始用discover-service 工程练手,注册nocas服务(不需要专门配置注册中心工程,每个服务都单独注册到nacos)
1.pom.xml添加配置(不需要eureka等注册相关组件,最好千万别添加)
<!--Nacos的服务注册与发现模块-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.配置application.yml(也可以将配置卸载bootstrap.yml中,本次操作没有先后顺序之分,可都写在application.yml中)
(1)配置服务的名称
spring:
application:
name: discover-service
(2)配置nacos连接地址
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
(3)定义端口号
server:
port: 8001
3.启动类中添加注解
@EnableDiscoveryClient
4,启动该服务,如果在nacos中没有发现注册成功,但是本地运行已经成功,可以尝试写个controller方法调用一下,可能就会注册成功了。
三.设置路由分发
1.在路由服务工程中(gateway)的pom.xml中添加:(最好放在nacos相关配置的上方,不然可能会导致运行报错)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
2.在启动类上加上zuul相关注解 : @EnableZuulProxy
3.配置application.yml路由分发,serviceId跟其他项目工程的application.yml中的spring.application.name设置一致即可,path:需要访问的路由,(service-auth的 端口号是8012)
server:
port: 8008
spring:
application:
name: stsc-gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
zuul:
routes:
auth:
path: /auth/**
serviceId: service-auth
4.重启各个服务,访问8012端口的service-auth可以用localhost:8008/auth/hi访问

本文详细介绍了如何在Spring Cloud环境中使用Nacos作为服务注册中心,并通过Zuul实现服务间的路由分发。从创建springboot项目、配置Nacos服务注册到设置Zuul路由,提供了全面的操作指南。
1093

被折叠的 条评论
为什么被折叠?



