(二)Nacos注册中心

Nacos注册中心

服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。

1、CAP理论

CAP理论是分布式架构中的重要理论。

  • C:一致性(Consistency) (所有节点在同一时间具有相同的数据)
  • A:可用性(Availability) (保证每个请求不管成功或者失败都有响应)
  • P:分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

2、主流注册中心对比

NacosEurekaConsulCoreDNSZookeeper
一致性协议CP+APAPCPCP
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatTCP/HTTP/gRPC/CmdKeep Alive
负载均衡策略权重/metadata/SelectorRibbonFabioRoundRobin
雪崩保护
自动注销实例支持支持不支持不支持支持
访问协议HTTP/DNSHTTPHTTP/DNSDNSTCP
监听支持支持支持支持不支持支持
多数据中心支持支持支持不支持不支持
跨注册中心同步支持不支持支持不支持不支持
SpringCloud集成支持支持支持不支持不支持
Dubbo集成支持不支持不支持不支持支持
K8S集成支持不支持支持支持不支持

Nacos除了服务的注册发现之外,还支持动态配置服务。

一句话概括就是Nacos = Spring Cloud注册中心 + Spring Cloud配置中心。

3、集成到SpringCloud中

创建好SC父工程,添加子模块

1)添加pom

<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2)主启动类添加注解

@EnableDiscoveryClient

3)添加application.yml配置文件

spring:
  application:
    name: user
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
management:
  endpoints:
    web:
      exposure:
        include: '*'

如果不想使用 Nacos 作为您的服务注册与发现,可以将spring.cloud.nacos.discovery 设置为 false

4)启动项目

以nacos/nacos,登录到127.0.0.1:8848/nacos
,可以看到user服务已经注册成功:

在这里插入图片描述

5)服务的 EndPoint

spring-cloud-starter-alibaba-nacos-discovery 在实现的时候提供了一个EndPoint,EndPoint的访问地址为 http://ip:port/actuator/nacos-discovery。 EndPoint 的信息主要提供了两类:

1、subscribe: 显示了当前有哪些服务订阅者
2、NacosDiscoveryProperties: 显示了当前服务实例关于 Nacos 的基础配置

在这里插入图片描述

至此,Spring Cloud使用Nacos作为注册中心已经初步完成,其他配置根据自身业务修改即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值