专业的编程技术博客社区

网站首页 > 博客文章 正文

Nacos介绍

baijin 2025-01-05 15:38:59 博客文章 6 ℃ 0 评论

Nacos的基本功能

1.动态配置服务

动态配置服务能够以中心化,外部化,动态化方式管理所有环境的配置,动态配置消除了变更时重新部署应用和服务的需要。

2.服务发现与管理

Nacos支持DNS-based和RPC-based模式的服务发现,Nacos也提供了实时健康检查,以防止将请求发往不健康的主机或者服务实例。

3.动态DNS服务

通过支持权重路由,动态DNS能更轻松的实现中间是负载均衡、更灵活的路由策略、流量控制、简单数据中心内网的简单DNS解析服务

Nacos中文官方网站地址

http://nacos.io/zh-cn/

Nacos Server安装

naocs server依赖于java环境,jdk1.8以上

安装:

https://nacos.io/zh-cn/docs/quick-start.html

默认启动时集群方式,可以在startup.cmd(windows,linux在startup.sh)中配置,set MODE='standalone' //单实例运行,设置成集群的set MODE='cluster'

运行后启动登陆地址:

http://localhost:8848/nacos

账号密码:nacos/nacos

依赖组件版本说明

Spring Cloud Alibaba Version

Sentinel Version

Nacos Version

RocketMQ Version

Dubbo Version

Seate Version

2.2.5.RELEASE or 2.1.4.RELEASE or2.0.4.RELEASE

1.8.0

1.4.1

4.4.0

2.7.8

1.3.0

2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE

1.8.0

1.3.3

4.4.0

2.7.8

1.3.0

2.2.1.RELEASE or 2.1.2.RELEASE or 2.0.2.RELEASE

1.7.1

1.2.1

4.4.0

2.7.6

1.2.0

2.2.0.RELEASE

1.7.1

1.1.4

4.4.0

2.7.4.1

1.0.0

2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE

1.7.0

1.1.4

4.4.0

2.7.3

0.9.0

2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE

1.6.3

1.1.1

4.4.0

2.7.3

0.7.1

Spring Cloud Version

Spring Cloud Alibaba Version

Spring Boot Version

Spring Cloud 2020.0

2020.0.RC1

2.4.2.RELEASE

Spring Cloud Hoxton.SR8

2.2.5.RELEASE

2.3.2.RELEASE

Spring Cloud Greenwich.SR6

2.1.4.RELEASE

2.1.13.RELEASE

Spring Cloud Hoxton.SR3

2.2.1.RELEASE

2.2.5.RELEASE

Spring Cloud Hoxton.RELEASE

2.2.0.RELEASE

2.2.x.RELEASE

Spring Cloud Greenwich

2.1.2.RELEASE

2.1.x.RELEASE

Spring Cloud Finchley

2.0.4.RELEASE

2.0.x.RELEASE

Spring Cloud Edgware

1.5.1.RELEASE

1.5.x.RELEASE

在Nacos动态新建配置

在java中读取Nacos配置数据

1.配置文件

spring.application.name=nacos_config_test

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

spring.cloud.nacos.config.group=DEFAULT_GROUP

spring.cloud.nacos.config.namespace=f8cd6adf-4820-4fa8-ba72-c5a3834719a9

spring.cloud.nacos.config.name=nacos_config.properties

stephen.name=zhou

stephen.age=28

2.java代码

@RestController

@RefreshScope

@RequestMapping("/nacos")

public class NacosConfigController {

@Value("${stephen.name}")

private String name;

@Value("${stephen.age}")

private String age;

@GetMapping("/getConfigInfo")

public String getConfigInfo(){

return name+","+age;

}

配置中心--数据模型

Nacos数据模型key由三元组唯一确定,NameSpace默认是空串、公共命名空间public、分组默认DEFAULT_GROUP

三元组分别是NameSpace、Group、Service/DataId

加载多配置集

1.保证nameSpace为同一个,Group和DataId可以不同

2.配置如下:

spring.cloud.nacos.config.extension-configs[0].data-id=nacos_config.properties

spring.cloud.nacos.config.extension-configs[0].group=DEV_GROUP

spring.cloud.nacos.config.extension-configs[0].refresh=true

配置中心其他功能

1.配置导出与导入

2.配置克隆功能

3.历史版本(可以进行版本回滚)

4.监听查询,查询哪些客户端正在监听客户端

Nacos服务注册实现

1.依赖

<dependency>

<groupId>com.alibaba.cloudgroupId>

<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>

<version>2.2.5.RELEASEversion>

dependency>

2.配置文件

spring:

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

3.在启动类中加注解

@EnableDiscoveryClient

4.启动访问

OpenFeign实现服务调用

1.依赖pom

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>

2.定义Feign接口,生成动态代理对象

@FeignClient("nacos-stock") public interface StockFeignService { @RequestMapping("/stock/test") String test(@RequestParam("info") String info); }

3.启动类

@EnableFeignClients("com.stephen.feign")

多实例服务负载均衡

服务名需要保持一致

spring: application: name: nacos-stock cloud: nacos: discovery: server-addr: 127.0.0.1:8848

Nacos高可用集群

1.为了防止Nacos崩掉,可以搞三个或者三个以上Nacos集群部署,实现高可用

2.在startup.cmd中将model改为cluster集群模式

3.nacos程序文件复制三份,修改三份的端口号nacos\nacos-server-1.1.4\nacos\conf\application.properties中修改

4.在nacos\nacos-server-1.1.4\nacos\conf\application.properties中修改nacos.inetutiles.ip-address=127.0.0.1

5.把集群配置文件cluster.conf.example改为cluster.conf,在文件中配置集群ip和端口号

6.启动三台nacos服务

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表