一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?
Posted IT挖掘机y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?相关的知识,希望对你有一定的参考价值。
首先容我先说一句题外话:你们能不能不要再卷了,给我留条活路吧!
1、Nacos简介
阿里巴巴出品,经历了长达十多年的双十一磨练;我只能说一句:阿里出品,必是精品!
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单了说就是注册中心+配置中心(还不错,搞下台三个框架)。
如果你使用过Eureka,你就会发现Nacos是真的方便。服务列表也不用搭建了,nacos都帮你弄好了。
nacos的下载安装教程地址:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501
spring cloud alibaba nacos官网教程地址https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_start_a_consumer_application:
nacos官网地址:https://nacos.io/
2、服务提供模块搭建
1、创建一个父工程(pom文件如下)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hao</groupId>
<artifactId>cloudAlibaba-nacos</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>provider-service</module>
<module>consumer-service</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.6.RELEASE</version>
</parent>
<properties>
<spring.cloud.alibaba.version>2021.1</spring.cloud.alibaba.version>
<spring.cloud.alibaba.nacos.version>2.1.1.RELEASE</spring.cloud.alibaba.nacos.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.alibaba.nacos.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
2、创建一个服务提供子模块(pom依赖如下)
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
3、controller层
@RestController
public class ProviderController {
@GetMapping(value = "/echo/{str}")
public String echo(@PathVariable("str") String str) {
return "hello" +"\\t"+ str;
}
}
4、application.properties(或application.yaml)中必须包含Nacos的一些基础配置,如下
server:
port: 8080
spring:
application:
name: provider-service
cloud:
nacos:
discovery:
server-addr: http://你的ip:8848 #注册进服务中心
如果不想使用 Nacos 进行服务注册和发现,可以设置spring.cloud.nacos.discovery为false.
5、启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class,args);
}
}
启动provider之后,你就可以在 Nacos 控制台上看到注册的服务了。
注意一定要启动nacos服务,我在云服务器启动的nacos;如果不懂请移步:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501
3、服务消费者搭建
除了controller之外,其他基本一样;不再叙述(application.yml启动端口需要改变、启动类run方法参数需要改动)
@RestController
public class ConsumerController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private LoadBalancerClient loadBalancerClient;
@Value(value = "${spring.application.name}")
private String serviceName;
@GetMapping(value = "/echo/name")
public String echoName() {
ServiceInstance instance = loadBalancerClient.choose("provider-service");
String path = String.format("http://%s:%s/echo/%s", instance.getHost(), instance.getPort(), serviceName);
System.out.println(path);
return restTemplate.getForObject(path,String.class);
}
}
多了一个config配置类,因为要远程调用嘛!
@Configuration
public class NacosConfig {
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}
4、测试
启动这两个服务,访问ip:8848/nacos/
调用consumer接口 http://localhost:8081/echo/name
成功了呀!
以上是关于一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?的主要内容,如果未能解决你的问题,请参考以下文章
零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库
史上最全 SpringCloudAlibaba入门教程,从零开始带你深入♂学习——Nacos组件:环境配置
[分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)