Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Cloud Alibaba生态之Nacos使用

Spring Cloud Alibaba生态之Nacos使用

作者头像
小冷coding
发布于 2023-05-24 09:32:17
发布于 2023-05-24 09:32:17
31200
代码可运行
举报
文章被收录于专栏:小冷coding小冷coding
运行总次数:0
代码可运行

Spring Cloud Alibaba 是国产的微服务开发一站式解决方案,与原有 Spring Cloud 兼容的同时对微服务生态进行扩展,通过添加少量的配置注解,便可实现更符合国情的微服务架构

Spring Cloud Alibaba

Spring Cloud Alibaba 是一组由阿里巴巴开发的基于 Spring Cloud 微服务框架的开源项目。它为微服务架构提供了一组组件,并使用阿里巴巴的微服务解决方案来帮助用户更快速地构建微服务应用程序。该项目中包含了服务注册与发现、配置中心、消息总线、分布式会话、分布式锁、分布式事务等组件。

服务与发现Nacos

Nacos是什么呢?

Nacos 读法:/nɑ:kəʊs/

Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos是阿里巴巴开源的一款分布式服务发现、配置管理和服务治理平台,类似于consul、zookeeper等服务,但具有更多的功能和特性。

Nacos可以实现以下功能:

服务发现:nacos支持多种协议的服务注册和发现,包括HTTP/REST、gRPC、DNSUDP等。

配置管理:nacos提供了统一的配置管理平台,可以将应用程序的配置信息集中管理,支持多环境、版本管理。

服务路由:nacos支持服务路由和负载均衡,可以通过配置规则进行流量控制、灰度发布等。

服务治理:nacos提供了健康检查、故障转移、服务降级、熔断等功能,保证服务的可靠性和稳定性。

动态配置:nacos支持动态配置更新,可以实现配置的实时生效。

安全保障:nacos提供了身份认证、访问控制等安全保障措施。

总之,nacos是一款功能强大、易用性高的分布式服务发现、配置管理和服务治理平台,可以帮助企业构建高可用、高可靠的分布式系统。

Nacos 的关键特性包括:

1.Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。

2.动态配置服务

可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。

3.动态 DNS 服务支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。

4.Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

下图是Nacos生态全景图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependencies>

    ...

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>3.0.5</version>
    </dependency>

    <!-- Dubbo Nacos registry dependency -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo-registry-nacos</artifactId>
        <version>3.0.5</version>
    </dependency>

    <!-- Alibaba Spring Context extension -->
    <dependency>
        <groupId>com.alibaba.spring</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>1.0.11</version>
    </dependency>
    ...
    
</dependencies>

通过上面的全景图可以发现,Nacos可以支持很多主流的插件服务,比如跟Dubbo融合只需要增加 “Maven 依赖”以及“配置注册中心“。上面的代码块就是增加Maven依赖的形式融合Nacos.

通过Nacos的架构图可以知道,Nacos具备服务,服务注册中心,服务提供者,服务消费者,配置,元数据,名字服务,配置服务等等模块。

Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP。

Nacos 支持将注册中心(Service Registry)与配置中心(Config Center) 在一个进程合并部署或者将2者分离部署的两种模式。

总结一下Nacos的使用方法:

1.下载Nacos:从Nacos官网(https://nacos.io/zh-cn/)下载最新版本的Nacos。

2.启动Nacos:解压缩Nacos压缩包,进入bin目录,执行startup.sh(Linux/Mac)或startup.cmd(Windows)启动Nacos。

3.访问Nacos:在浏览器中输入http://localhost:8848/nacos/,进入Nacos的控制台页面。

4.注册服务:在Nacos控制台页面的左侧菜单中,点击“服务管理”,然后点击“新增服务”,输入服务名称、IP地址和端口号,点击“提交”。

5.发现服务:在Nacos控制台页面的左侧菜单中,点击“服务管理”,然后点击“查询服务”,输入服务名称,点击“查询”。此时,Nacos会返回该服务的IP地址和端口号,以便其他服务可以调用该服务。

6.配置管理:在Nacos控制台页面的左侧菜单中,点击“配置管理”,然后点击“新增配置”,输入配置的命名空间、数据ID和数据内容,点击“提交”。配置更新后,Nacos会通知订阅了该配置的服务。

7.动态DNS解析:Nacos支持动态DNS解析,可以将服务名称解析为IP地址。在Nacos控制台页面的左侧菜单中,点击“服务管理”,然后点击“域名解析”,输入服务名称和IP地址,点击“提交”。

此时,Nacos会将服务名称解析为IP地址,以便其他服务可以调用该服务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小冷coding 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nacos架构与原理 - 总体架构
Nacos 在阿里巴巴起源于 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双十⼀的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。
小小工匠
2023/07/11
1K0
Nacos架构与原理 - 总体架构
17.SpringCloud实战项目-整合Spring Cloud Alibaba Nacos组件
passjava-common模块的pom.xml文件引入Nacos 服务发现组件
悟空聊架构
2022/05/13
3270
17.SpringCloud实战项目-整合Spring Cloud Alibaba Nacos组件
Spring Cloud Alibaba:Nacos服务治理平台
微服务架构已经成为现代软件开发的主流范式之一,它允许开发团队将应用程序拆分成小的、自治的服务,这些服务可以独立开发、部署和维护。但是,随着微服务数量的增加,服务的注册、发现和负载均衡变得越来越复杂。Spring Cloud Alibaba的Nacos服务治理平台是一个强大的工具,用于简化微服务的注册和发现,以及实现负载均衡,本文将深入探讨Nacos的使用和核心概念。
IT_陈寒
2023/12/13
2520
Spring Cloud Alibaba:Nacos服务治理平台
Spring Cloud Alibaba + Dubbo 搭建一个微服务架构
在阅读这篇文章前,推荐一篇“好”文章:MediaCrawler 提取评论生词云:小红书实例-麦琳评论区
王二蛋
2024/11/27
2450
SpringBoot开发案例之Nacos注册中心管理
在之前的 Dubbo 服务开发中,我们一般使用 Zookeeper 作为注册中心,同时还需要部署 Dubbo 监控中心和管理后台。
小柒2012
2019/12/05
9190
Spring Cloud Alibaba之服务发现组件 - Nacos实现服务注册与发现(二)
2. 动态配置服务 动态修改配置并实时生效对于服务端的同学来说并不陌生,这种服务能够让我们的服务拥有更多的灵活性,不需要重启服务即可做到配置实时生效,非常适合于“配置优先”的服务开发。
用户1212940
2022/04/13
4630
Spring Cloud Alibaba之服务发现组件 - Nacos实现服务注册与发现(二)
Spring Cloud Alibaba面试题
从配置中心角度来看,性能方面Nacos的读写性能最高,Apollo次之,Spring Cloud Config依赖Git场景不适合开放的大规模自动化运维API。
小熊学Java
2023/07/16
9200
Spring Cloud Alibaba面试题
使用Nacos做为SpringCloud的注册中心
【转载请注明出处】:https://cloud.tencent.com/developer/article/1642606
后端老鸟
2020/06/11
6600
使用Nacos做为SpringCloud的注册中心
Spring Cloud Alibaba Nacos搭建服务注册发现和配置中心
   Nacos是阿里云中间件团队开源的一个项目。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。    有了Nacos,你就同时拥有了注册发现和配置中心!
程序员云帆哥
2022/05/12
4680
Spring Cloud Alibaba Nacos搭建服务注册发现和配置中心
云原生系列 | 微服务配置中心之 Nacos
服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。
Tinywan
2023/03/08
9370
云原生系列 | 微服务配置中心之 Nacos
Nacos-服务发现与配置管理v1.0
为适应企业的业务发展,提高软件研发的生产力,降低软件研发的成本,软件架构也作了升级和优化,将一个独立 的系统拆分成若干小的服务,每个小服务运行在不同的进程中,服务与服务之间采用RESTful、RPC等协议传输数据,每个服务所拥有的功能具有独立性强的特点,这样的设计就实现了单个服务的高内聚,服务与服务之间的低耦 合效果,这些小服务就是微服务,基于这种方法设计的系统架构即微服务架构。
张哥编程
2024/12/07
3790
Spring项目如何集成Gateway和Nacos服务
在本文中,我们将探讨如何在Spring项目中集成Gateway和Nacos服务,帮助初学者成功地完成这些存在解决方案。通过本文,您将了解完整的集成流程和具体实现方法,以提高项目性能和拓展性。
默 语
2025/01/20
2120
【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战
Spring Cloud Alibaba微服务组件,是市面上是比较主流的微服务组件,同时有着阿里巴巴官方认证,因此可以称的上是国内最强的微服务框架,没有之一。本文作为Spring Cloud Alibaba微服务系列的实战开篇,主要内容如下:
天罡gg
2023/03/01
6440
【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战
Spring Cloud Alibaba -Nacos入门讲解
Spring Cloud Alibaba 为分布式应用程序开发提供了一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使得你可以轻松地使用Spring Cloud开发应用程序。
麦洛
2021/03/23
1.1K0
Spring Cloud Alibaba -Nacos入门讲解
我是如何替换Spring Cloud Netflix的?
如果你正在寻找一个Spring Cloud Netflix的替代方案,建议可以看下这篇和Spring Cloud Alibaba相关的文章。
养码场
2018/12/26
1.7K0
Spring Cloud Alibaba:Nacos服务治理平台,服务注册、RestTemplate实现微服务之间访问,负载均衡访问
官网文档:https://nacos.io/zh-cn/docs/what-is-nacos.html
鳄鱼儿
2022/06/30
4660
lagou 爪哇 3-5 spring cloud (下) 笔记
为了⽀撑⽇益增⻓的庞⼤业务量,我们会使⽤微服务架构设计我们的系统,使得 我们的系统不仅能够通过集群部署抵挡流量的冲击,⼜能根据业务进⾏灵活的扩展。那么,在微服务架构下,⼀次请求少则经过三四次服务调⽤完成,多则跨越⼏⼗ 个甚⾄是上百个服务节点。那么问题接踵⽽来:
acc8226
2022/05/17
6430
lagou 爪哇 3-5 spring cloud (下) 笔记
SpringCloud Alibaba——Nacos服务发现
几个星期前曾经分享过Nacos在配置中心部分的内容,今天来分享它的另一部分内容,即:服务发现。废话不多说,来看一下今天这篇小文章的目录结构吧:
爪哇缪斯
2023/05/10
6760
SpringCloud Alibaba——Nacos服务发现
Spring Cloud Alibaba是如何整合Spring Cloud原生注册中心?
学习是一件需要长期投入的事情,尤其是在当下大环境恶劣的背景下,我们程序员必须要多多的投资自己,去加强自己的技术硬实力和软实力。
35岁程序员那些事
2022/09/23
3300
Spring Cloud Alibaba是如何整合Spring Cloud原生注册中心?
Spring Cloud Alibaba 系列之 Nacos 注册中心
  服务发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于 服务的动态扩缩容。Nacos Discovery Starter 可以帮助您将服务自动注册到 Nacos 服务端并且能够动态感知和刷新某个服务实例的服务列表。除此之外,Nacos Discovery Starter 也将服务实例自身的一些元数据信息,例如 host、port,健康检查 URL,主页等注册到 Nacos 。Spring Cloud Alibaba Nacos Discovery 通过一些简单的注解,快速来注册一个服务,并使用经过双十一考验的 Nacos 组件来作为大规模分布式系统的服务注册中心。
Demo_Null
2020/11/24
6250
Spring Cloud Alibaba 系列之 Nacos 注册中心
推荐阅读
相关推荐
Nacos架构与原理 - 总体架构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验