-
服务发现和服务健康监测
-
动态配置服务
-
动态DNS服务
-
服务及其元数据管理
二、Nacos快速开始
结构图:
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
-
64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
-
64 bit JDK 1.8+
-
Maven 3.2.x+
1 下载与安装
下载地址:https://github.com/alibaba/nacos/releases
下载最新版本:nacos-server-1.1.4.tar.gz或nacos-server-1.1.4.zip,解压任意目录即可
2 启动nacos服务
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式)
启动命令:sh startup.sh -m standalone
Windows
启动命令:cmd startup.cmd 或者双击startup.cmd运行文件。
访问:http://localhost:8848/nacos
用户名密码:nacos/nacos
3 注册中心
首先创建两个工程:nacos-provider、nacos-consumer
创建生产者:
创建消费者(同上)
3.1 生产者基本代码
ProviderCont
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2z1ChQw9-1670239242237)(https://mmbiz.qpic.cn/mmbiz_png/nMicohCxH9r2BPjylgQTOxQFBMTBcucNMZpohd3FpUkGsDf2wzGZa3cjx7icEg6dCMg15vGibA9Q8C21s6CdL6K0g/0?wx_fmt=png)]
roller代码如下:
@RestController
public class ProviderController {
@Value(“${myName}”)
private String name;
@GetMapping(“hello”)
public String hello(){
return "hello " + name;
}
}
application.properties配置如下:
server.port=8070
自定义参数
myName=nacos
3.2 生产者注册到nacos
生产者注册到nacos注册中心,步骤:
1,添加依赖:spring-cloud-starter-alibaba-nacos-discovery及springCloud
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
0.2.2.RELEASE
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
Greenwich.SR2
pom
import
注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
2,在 application.properties 中配置nacos服务地址和应用名
server.port=8070
spring.application.name=nacos-provider
nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
自定义参数
myName=nacos
3,通过Spring Cloud原生注解 @EnableDiscoveryClient 开启服务注册发现功能
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
3.3 消费者基本代码
ConsumerController代码:
@RestController
public class ConsumerController {
@GetMapping(“hi”)
public String hi() {
return “hi provider!”;
}
}
application.properties:
server.port=8080
3.4 消费者注册到nacos
消费者注册到nacos跟生产者差不多,也分3步:
-
添加依赖:同生产者
-
在application.properties中配置nacos的服务名及服务地址:同生产者
-
在引导类(NacosConsumerApplication.java)中添加@EnableDiscoveryClient注解:同生产者
3.5 使用feign调用服务
以前我们使用feign来远程调用,这里也一样。引入feign的依赖
org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.2.RELEASE org.springframework.cloud spring-cloud-starter-openfeign org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies Greenwich.SR2 pom import
在NacosConsumerApplication类上添加@EnableFeignClients注解
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
====================================================================
myName=nacos
编写feignClient:
@FeignClient(“nacos-provider”)
yClient
@EnableFeignClients
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
====================================================================
myName=nacos
编写feignClient:
@FeignClient(“nacos-provider”)