前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Nacos系列》之注册中心

《Nacos系列》之注册中心

作者头像
Java那些事儿
发布2020-07-21 11:21:43
4840
发布2020-07-21 11:21:43
举报
文章被收录于专栏:Java那些事儿Java那些事儿

Nacos注册中心

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

1、CAP理论

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

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

2、主流注册中心对比

Nacos

Eureka

Consul

CoreDNS

Zookeeper

一致性协议

CP+AP

AP

CP

CP

健康检查

TCP/HTTP/MYSQL/Client Beat

Client Beat

TCP/HTTP/gRPC/Cmd

Keep Alive

负载均衡策略

权重/metadata/Selector

Ribbon

Fabio

RoundRobin

雪崩保护

自动注销实例

支持

支持

不支持

不支持

支持

访问协议

HTTP/DNS

HTTP

HTTP/DNS

DNS

TCP

监听支持

支持

支持

支持

不支持

支持

多数据中心

支持

支持

支持

不支持

不支持

跨注册中心同步

支持

不支持

支持

不支持

不支持

SpringCloud集成

支持

支持

支持

不支持

不支持

Dubbo集成

支持

不支持

不支持

不支持

支持

K8S集成

支持

不支持

支持

支持

不支持

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

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

3、集成到SpringCloud中

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

1)添加pom
代码语言:javascript
复制
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2)主启动类添加注解
代码语言:javascript
复制
@EnableDiscoveryClient
3)添加application.yml配置文件
代码语言:javascript
复制
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作为注册中心已经初步完成,其他配置根据自身业务修改即可。

Q.E.D.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nacos注册中心
    • 1、CAP理论
      • 2、主流注册中心对比
        • 3、集成到SpringCloud中
          • 1)添加pom
          • 2)主启动类添加注解
          • 3)添加application.yml配置文件
          • 4)启动项目
          • 5)服务的 EndPoint
      相关产品与服务
      微服务引擎 TSE
      微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档