下载
地址:https://github.com/alibaba/nacos/releases
本文版本:2.3.1
启动
根据不同的压缩文件解压使用。
- Linux/Unix/Mac::
sh startup.sh -m standalone
- Windows:
startup.cmd -m standalone
访问
我在虚拟机上安装:http://192.168.207.8:8848/nacos
Nacos服务治理中心应用
构建两个服务,扮演服务的消费者和生产者的角色,实现两个服务之间的调用,验证服务的注册与发现功能。
服务提供者
第一步:创建一个名为nacos-produce
的springboot的项目。
第二步:引入依赖,编写pom.xml
文件。
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.6.13</spring-boot.version>
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<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.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2021.0.3</version> <!-- 根据您的项目所使用的 Spring Cloud 版本进行调整 -->
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
第三步:编写application.yaml文件。服务名,端口,Nacos服务中心地址
spring:
application:
name: nacos-produce
cloud:
nacos:
discovery:
server-addr: 192.168.207.8:8848 #结合自身!
server:
port: 8000
第四步:编写一个请求接口,启动nacos服务客户端。
@EnableDiscoveryClient
@SpringBootApplication
public class NacosProduceApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProduceApplication.class, args);
}
@RestController
public class NaocosController {
@GetMapping("/hello")
public String HelloNacos(@RequestParam String name) {
return "hello" + name;
}
}
}
第五步:配置启动文件,添加-Dserver.port
属性,实例化两个服务提供者。
服务消费者(Feign版)
第一步:创建一个名为nacos-consumer
的springboot项目
第二步:编写pom.xml
文件配置openfeign和负载均衡依赖,其余基本和上面一样。
<!--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>
第三步:编写application.yaml
文件,配置如下信息
spring:
application:
name: nacos-consumer
cloud:
nacos:
discovery:
server-addr: 192.168.207.8:8848
server:
port: 8005
第四步:创建应用主类,实现一个HTTP接口,在该接口中调用服务提供方的接口。
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
@RestController
static class TestFeign {
@Autowired
Client client;
@GetMapping("/test")
public String test(@RequestParam("name") String name) {
String result = client.hello(name);
return "Return:" + result;
}
}
@FeignClient("nacos-producer")
interface Client {
@GetMapping("/hello")
String hello(@RequestParam(name = "name") String name);
}
}
第五步:调用