7、Spring cloud 注册心:Nacos
本篇介绍Spring cloud怎么使用Nacos作为注册中心来进行服务注册及服务发现,并进行简单的测试来验证。
访问Nacos Spring Cloud 快速开始,文章里面给我们给出了Spring cloud使用nacos作为配置中心及注册中心的用法,启动配置管理我们在后面的配置中心章节再进行讲解,这里我们关注注册中心即可。
1、服务提供者
我们添加项目子工程module,命名为provider-nacos8001,然后添加我们的pom依赖
-
<dependencies>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-web</artifactId>
-
<version>2.6.11</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-actuator</artifactId>
-
<version>2.6.11</version>
-
</dependency>
-
<dependency>
-
<groupId>com.alibaba.cloud</groupId>
-
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-
<version>2.0.4.RELEASE</version>
-
</dependency>
-
</dependencies>
-
-
<build>
-
<plugins>
-
<plugin>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-maven-plugin</artifactId>
-
</plugin>
-
</plugins>
-
</build>
这里我们选择nacos的版本为2.0.1.RELEASE,对应的cloud的2021.0.4
添加配置文件application.yml,并进行nacos服务的注册配置
-
server:
-
port: 8001
-
-
spring:
-
application:
-
name: provider
-
cloud:
-
nacos:
-
discovery:
-
server-addr: localhost:8848
添加项目启动类ProviderNacos8001Application.class
-
@SpringBootApplication
-
@EnableDiscoveryClient
-
public class ProviderNacos8001Application {
-
public static void main(String[] args) {
-
SpringApplication.run(ProviderNacos8001Application.class,args);
-
}
-
}
通过 Spring Cloud 原生注解
@EnableDiscoveryClient
开启服务注册发现功能
添加生产测试接口类ProviderController.class
-
-
-
public class ProviderController {
-
-
-
private String port;
-
-
-
-
public String getPort(){
-
return "访问服务的端口为:" port;
-
}
-
}
启动我们的生产者provider-nacos8001,启动完毕后我们在nacos的管理页面发现服务已经注册成功。
2、服务消费者
创建子工程consumer-nacos8002,添加项目依赖pom
-
<dependencies>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-web</artifactId>
-
<version>2.6.11</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-actuator</artifactId>
-
<version>2.6.11</version>
-
</dependency>
-
<dependency>
-
<groupId>com.alibaba.cloud</groupId>
-
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-
<version>2.0.4.RELEASE</version>
-
</dependency>
-
</dependencies>
-
-
<build>
-
<plugins>
-
<plugin>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-maven-plugin</artifactId>
-
</plugin>
-
</plugins>
-
</build>
添加项目配置文件application.yml,添加nacos注册配置
-
server:
-
port: 8002
-
spring:
-
application:
-
name: consumer
-
cloud:
-
nacos:
-
discovery:
-
server-addr: localhost:8848
添加项目启动类ConsumerNacos8002Application.class,添加我们的Ribbon负载配置RibbonConfig.class。
-
@SpringBootApplication
-
@EnableDiscoveryClient
-
public class ConsumerNacos8002Application {
-
public static void main(String[] args) {
-
SpringApplication.run(ConsumerNacos8002Application.class,args);
-
}
-
}
-
@Configuration
-
public class RibbonConfig {
-
-
@Bean
-
@LoadBalanced
-
public RestTemplate loadBalancedRestTemplate(){
-
return new RestTemplate();
-
}
-
}
添加消费测试接口类ConsumerController.class
-
@RestController
-
@RequestMapping("/consumer")
-
public class ConsumerController {
-
-
@Autowired
-
private RestTemplate loadBalancedRestTemplate;
-
-
@GetMapping("/getProviderPort")
-
public String getProviderPort(){
-
return loadBalancedRestTemplate.getForObject("http://provider/nacos/getPort",String.class);
-
}
-
}
启动我们的消费者项目,然后进入nacos管理页面进行查看注册情况。
这里两个项目我们都注册好了,请求我们的消费者接口http://localhost:8002/consumer/getProviderPort
成功返回我们的提供者的端口号,至此我们使用Nacos作为Spring Cloud的注册中心就配置好了。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgaaeab
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01