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

 

🔎这里是【微服务】,关注我学习微服务不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

👀专栏介绍

【微服务】 目前主要更新微服务,一起学习一起进步。

👀本期介绍

本期主要介绍Nacos整合SpringCloud(注册中心、配置中心)

文章目录

CAP理论

常见的注册中心

什么是Nacos

下载

安装

启动

启动

启动异常:集群启动

WEB控制台

获得控制台的访问路径

登录

控制台管理界面

nacos作为window服务

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

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

安装

解压

  • 解压

    要求

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

    • 操作系统:

  • JDK的位置:  

常见错误:

1)删除data目录重试

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

    2)必须配置JAVA_HOME

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

3) unable to start embedded tomcat

  • 不能成功启动tomcat

  • 解决方案:更换JDK

启动

启动

startup.cmd -m standalone

启动异常:集群启动

  • 运行异常

    • cmd运行 startup.cmd 错误提示“nacos is starting with cluster” (nacos以集群的方式的运行)

WEB控制台

获得控制台的访问路径

http://192.168.98.253:8848/nacos/index.html

登录

 账号:nacos
密码:nacos

控制台管理界面

nacos作为window服务

win service制作

nacos发布为Windows服务自启动_灼烧的疯狂的博客-CSDN博客_nacos windows 自启动

同名配置文件:winsw-x64.xml

<?xml version="1.0" encoding="UTF-8"?>
<service>
  <id>Nacos</id>
  <name>Nacos</name>
  <description>Nacos Windows Service</description>
  <executable>%BASE%\startup.cmd</executable>
  <arguments>-m standalone</arguments>
  <logpath>%BASE%\serviceLogs</logpath>
</service>

拷贝软件

  • 安装

 winsw-x64 install

### 回答1: Nacos是一个开源的服务发现、配置管理和动态DNS服务的平台,可以帮助开发者更好地构建微服务架构。而Spring Cloud是一个基于Spring Boot的开发工具,用于快速构建分布式系统中的一些常见模式,如配置管理、服务发现、断路器、路由、微代理、控制总线等。 将NacosSpring Cloud整合,可以实现更好的微服务架构管理。具体来说,可以通过Nacos实现服务注册与发现、配置管理、动态DNS等功能,而Spring Cloud则可以通过集成Nacos实现更加便捷的开发和部署。例如,可以使用Spring Cloud的Feign客户端来调用Nacos注册服务,也可以使用Spring Cloud Config来管理Nacos中的配置信息。 总之,NacosSpring Cloud整合可以帮助开发者更加方便地构建和管理微服务架构,提高开发效率和系统稳定性。 ### 回答2: Nacos是一个支持动态服务发现、配置管理和服务治理的云原生基础设施。Spring Cloud是一套基于Spring Boot框架实现的微服务开发工具。Nacos整合Spring Cloud可以帮助我们更好地实现微服务架构。 首先,Nacos可以作为Spring Cloud服务发现和配置中心的实现之一,通过注册中心让所有的微服务能够相互发现,从而实现动态调度。Nacos不仅支持传统的服务注册和发现,也支持DNS,甚至可以支持Kubernetes平台上的服务注册服务发现。而且,Nacos还支持配置中心。通过Nacos可以统一管理所有的微服务的配置信息,实现配置的灵活调整,从而更好地支持多环境部署。 其次,Nacos还提供了服务的监控、流控和降级等治理功能。这些功能可以帮助我们更好地保证微服务架构的稳定性和高可用性。而且,Nacos还支持多租户的功能,可以让不同的微服务具有不同的权限和控制。 最后,NacosSpring Cloud框架的无缝集成也很值得赞赏。通过Spring Cloud的相关组件,我们可以很容易地通过Nacos微服务进行调度、发现和治理。 在整合NacosSpring Cloud中,我们需要使用Spring Cloud Alibaba组件中的相应依赖项,如spring-cloud-starter-alibaba-nacos-discovery、spring-cloud-starter-alibaba-nacos-config等。我们还需要在配置文件中配置一些相关的参数信息,例如注册中心地址、配置中心地址等。然后,在代码中我们就可以使用Spring Cloud提供的相关注解和API来实现服务注册、发现以及配置管理等目的。 总而言之,Nacos整合Spring Cloud可以帮助我们更好地实现微服务架构,提高系统的可靠性和可用性。同时,Nacos也提供了一些治理方面的功能,可以帮助我们更好地实现对微服务的管理和控制。 ### 回答3: Nacos是一个开源的动态服务发现,配置和服务管理平台。它为不同的应用提供了一个共享的服务注册中心,以达到分布式系统中服务管理的目的。在分布式系统中,服务注册和发现是一件非常重要的事情,因为它可以帮助我们很方便地管理各种不同的服务,从而实现高可用、高性能的服务。而SpringCloud是一个非常流行的微服务框架,它通过丰富的微服务组件和框架,为开发人员提供了完整的微服务开发的工具。 Nacos整合SpringCloud可以很好地实现服务注册和发现。在SpringCloud中,我们可以使用Nacos注册和发现服务,而不需要其他的注册中心。这样有很多好处,例如更方便的服务管理和自动化、高性能、高可用性、强大的读写分离、多种数据类型的支持等等,使得Nacos微服务领域得到了广泛的应用。 除了服务注册和发现外,Nacos还提供了配置管理、流量管理等很多功能,与SpringCloud无缝整合,进一步优化微服务架构体系。 总之,Nacos整合SpringCloud是一种非常优秀的微服务开发方式,它为企业提供了完整的服务治理能力,使得企业可以更好地管理和使用微服务。此外,Nacos还具有高可用、高性能、多种功能等诸多优点,让开发人员可以更加自由地进行微服务开发。
评论 152
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶然同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值