文章推荐
从0到1构建微服务之基础工程创建(一)
从0到1构建微服务之服务通信-feign(三)
从0到1构建微服务之服务网关-gateway(四)
文章目录
简介
本章内容介绍服务注册的实施,采用nacos作为我们的服务注册中心。
注:目前所有的代码构建肯定不是最优的,比如版本依赖的版本号抽取管理等等,后续都会一步一步去做。
nacos环境搭建(window)
1、下载nacos,
下载地址为https://github.com/alibaba/nacos/releases/tag/2.2.3
2、下载侯解压得到的目录如下:
3、启动nacos
有两种方式进行启动
(1)控制台进入到bin目录下,以单机模式启动 startup.cmd -m standalone
(2)在bin目录下找到文件startup.cmd,将文件内的
set MODE="cluster"
替换成
set MODE="standalone"
然后双击startup.cmd启动即可(因为nacos默认集群的方式启动,我们需要改成单例模式启动)
4、访问nacos
默认账号密码都是nacos
http://localhost:8848/nacos/#
5、创建命名空间
创建一个命名空间share-dev,供我们项目使用
项目服务注册
1、pom添加依赖
在需要注册的服务pom文件中添加如下依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.0.4.0</version>
</dependency>
2、配置文件application添加对应的配置
我这里一共三个服务,在三个服务里面都需要添加如下的配置
user服务:
spring:
application:
name: user-server
cloud:
nacos:
discovery:
server-addr: localhost:8848
namespace: share-dev
adminbiz服务:
spring:
application:
name: adminbiz-server
cloud:
nacos:
discovery:
server-addr: localhost:8848
namespace: share-dev
gateway服务:
spring:
main:
web-application-type: reactive
application:
name: gateway-server
cloud:
nacos:
discovery:
server-addr: localhost:8848
namespace: share-dev
3、在需要注册的服务的启动类添加@EnableDiscoveryClient
user服务:
@EnableDiscoveryClient
@SpringBootApplication
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
}
adminbiz服务:
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan({"com.cys.share"})
public class AdminBizApplication {
public static void main(String[] args) {
SpringApplication.run(AdminBizApplication.class, args);
}
}
gateway服务:
@EnableDiscoveryClient
@SpringBootApplication()
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
4、启动服务,检查结果
将三个服务都启动,查看服务是否已经注册成功