Nacos服务注册发现和分布式配置
Nacos: Dynamic Naming and Configuration Service
1.Nacos安装(Windows)
1.下载安装包 github 里面alibaba 的nacos仓库https://github.com/alibaba/nacos,Release 稳定版本下载,解压
2.进入解压文件,在bin文件夹 打开终端,输入命令 startup.cmd -m standalone (-m 代表模式 standlone 代表单机启动)
3. 显示"nacos is starting with standalone",成功后复制网址到浏览器,输入默认账号密码(都是nacos)进行登录
2.Nacos基础(Windows)
springcloud组件中,springcloud common 中定义接口规范,定义了服务发现和注册的接口,nacos也会遵循这些接口。
使用Nacos服务地址和服务依赖会发生改变。
服务注册到nacos步骤
1.在父工程中添加 spring-cloud-alibaba管理依赖
<!--spring-cloud-alibaba管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.注释掉原有的eurake依赖(如果有的话)
3.添加Nacos客户端依赖(在客户端pom中)
<!--nacos客户端依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
4.修改yml
spring: datasource: url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver application: name: orderservice #order服务名称 cloud: nacos: server-addr: localhost:8848
5.启动完成
Nacos服务分级存储模型
服务-集群(以机房划分集群,多个实例)-实例(一个服务的实例可能在多个集群中-容灾)
服务跨集群调用问题
局域网内访问速度快,延迟低
服务调用尽可能选择本地集群服务,跨集群调用延迟较高,本地集群不可访问时候,再去访问其他集群。如何配置实例的集群属性呢?
服务跨集属性
修改yml,配置集群名称(可-Dserver.port=8083 复制实例测试)
server: port: 8081 spring: datasource: url: jdbc:mysql://localhost:3306/cloud_user?useSSL=false username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver application: name: userservice #user服务 cloud: nacos: server-addr: localhost:8848 discovery: cluster-name: SH
同一启动批次,集群名字相同,例子为上海

浙公网安备 33010602011771号