《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
<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
1、subscribe: 显示了当前有哪些服务订阅者 2、NacosDiscoveryProperties: 显示了当前服务实例关于 Nacos 的基础配置
至此,Spring Cloud使用Nacos作为注册中心已经初步完成,其他配置根据自身业务修改即可。
/End.
全世界只有不到3 % 的人关注了「Java那些事儿」
你真是个特别的人
点击 "阅读原文" 查看更多