SpringCloud Alibaba-3-注册中心
1. Nacos简介
Nacos官方网址:https://nacos.io/zh-cn/
Nacos:由Spring Cloud Alibaba 提供的。 Nacos致力于帮助您发现、配置和管理
微服务。
Nacos集成了netflix公司的ribbon,支持负载均衡(默认:轮询)。
Nacos支持单机和集群,默认是以集群模式启动,通过添加-m standalone就会以单机模式启动。
Naocos对于CAP的支持:
nacos它支持AP和CP模式的切换。
zookeeper:只支持CP。
nacos的服务健康检查:
Nacos Server会开启一个定时任务来检查注册服务实例的健康情况。
每5秒发送一次心跳,对于超过 15s 没有收到客户端心跳的实例会将它的healthy属性设置为false(此时,客户端不能再调用该服务,不会让客户端获取到该服务的信息)。
若超过 30s 没有收到心跳,直接剔除该实例(被剔除的实例如果恢复发送心跳则会重新注册)
2. Nacos作为注册中心使用,我们以SpringCloud Alibaba-2-微服务环境搭建为例,将各个服务(用户,商品,订单)注册到注册中心
2.1 各个服务都添加依赖
<!-- nacos注册中心依赖包 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.2 各个服务都添加配置文件
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848
2.3 各个服务启动类开启服务发现
@SpringBootApplication
@EnableDiscoveryClient //服务发现注解 用于注册中心能够发现,扫描到改服务 如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient,如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient
public class NacosWebApplication {
public static void main(String[] args) {
SpringApplication.run(NacosWebApplication.class,args);
}
}