【微服务】Nacos整合SpringCloud(注册中心、配置中心)(一)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【微服务】Nacos整合SpringCloud(注册中心、配置中心)(一)

CAP理论

CAP三要素:

一致性(Consistency): 所有节点在同一时间具有相同的数据

可用性(Availability) :保证每个请求不管成功或者失败都有响应

分区容错性(Partition tolerance) :系统中任意信息的丢失或失败不会影响系统的继续运作

CAP 原则:三个要素最多只能同时实现两点

1)满足CA舍弃P,也就是满足一致性和可用性,舍弃容错性。但是这也就意味着你的系统不是分布式的了,因为涉及分布式的想法就是把功能分开,部署到不同的机器上。

2)满足CP舍弃A,也就是满足一致性和容错性,舍弃可用性。如果你的系统允许有段时间的访问失效等问题,这个是可以满足的。就好比多个人并发买票,后台网络出现故障,你买的时候系统就崩溃了。

3)满足AP舍弃C,也就是满足可用性和容错性,舍弃一致性。这也就是意味着你的系统在并发访问的时候可能会出现数据不一致的情况。

结论:实时证明,大多数都是牺牲了一致性。像12306还有淘宝网,就好比是你买火车票,本来你看到的是还有一张票,其实在这个时刻已经被买走了,你填好了信息准备买的时候发现系统提示你没票了。

总结:分区容错性P必然存在,所以将从CA中选择一个,彼此互斥的。

常见的注册中心

微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比_琦彦的博客-CSDN博客_consul nacos

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 TCP
监听支持 支持 支持 支持 不支持 支持


多数据中心 支持 支持 支持 不支持 不支持


跨注册中心同步 支持 不支持 支持 不支持 不支持


SpringCloud集成 支持 支持 支持 不支持 支持


Dubbo集成 支持 不支持 支持 不支持 支持


K8S集成

支持

不支持

支持

支持

不支持


什么是Nacos

  • Nacos用于服务的注册发现与服务的配置管理。
  • Nacos提供了简单易用的Web Console。可以帮助开发者快速的实现服务发现、服务配置管理、服务元数据等需求。
  • 官方文档

什么是 Nacos

  • 基本架构及概念
概念 描述
服务 (Service) 服务是指一个或一组软件功能
服务注册中心 (Service Registry) 服务注册中心,它是服务,其实例及元数据的数据库。 服务实例在启动时注册到服务注册表,并在关闭时注销。

服务元数据 (Service Metadata)

服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据

服务提供方 (Service Provider)

提供可复用和可调用服务的应用方

服务消费方 (Service Consumer)

发起对某个服务调用的应用方

配置 (Configuration)

在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。

配置管理 (Configuration Management)

在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。

名字服务 (Naming Service)

提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务

下载

Releases · alibaba/nacos · GitHub

image.png

安装

解压

  • 解压

image.png

要求

  • 要求:操作系统的位数(32位/64位),和JDK的位数一致的
  • 操作系统:

image.png

  • JDK的位置:  

image.png

常见错误:

1)删除data目录重试

  • 如果无法正常运行,删除 data目录后,重新运行

image.png

2)必须配置JAVA_HOME

image.png

  • 提示:没有配置JAVA_HOME,且需要JDK的版本为JDK8及其以上。

3) unable to start embedded tomcat

image.png

  • 不能成功启动tomcat
  • 解决方案:更换JDK
相关文章
|
17天前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
3天前
|
XML SQL Java
SpringCloud 基础配置
SpringCloud 基础配置
10 0
|
11天前
|
存储 负载均衡 Cloud Native
【微服务系列笔记】Nacos
Nacos 是阿里巴巴开源的项目,用于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持动态服务发现、服务配置、服务元数据和流量管理,旨在更敏捷和方便地构建、交付和管理微服务平台。可作为注册中心与配置中心。
41 5
|
12天前
|
Nacos
nacos 配置页面的模糊查询
nacos 配置页面的模糊查询
|
14天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
28 1
|
16天前
|
Linux Nacos 数据库
【微服务】生产部署nacos集群(三个节点)
【微服务】生产部署nacos集群(三个节点)
26 1
|
17天前
|
负载均衡 Java 网络架构
【SpringCloud】如何理解分布式、微服务、集群
【SpringCloud】如何理解分布式、微服务、集群
24 1
|
17天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
17天前
|
运维 监控 Java
SpringCloud&认识微服务
SpringCloud&认识微服务
18 0
|
17天前
|
机器学习/深度学习 Java Nacos
Nacos 配置中心(2023旧笔记)
Nacos 配置中心(2023旧笔记)
20 0