SpringCloud注册中心(Nacos,Ribbon)

微服务是由多个模块共同组成的,注册中心可以帮助我们沟通这些模块,帮助我们完成模块间的

常见的注册中心

Zookeeper

zookeeper它是⼀个分布式服务框架,是Apache Hadoop 的⼀个⼦项⽬,它主要是⽤来解决分布式应 ⽤中经常遇到的⼀些数据管理问题,如:统⼀命名服务、状态同步服务、集群管理、分布式应⽤配置项 的管理等。简单来说zookeeper=⽂件系统+监听通知机制。

Nacos

Nacos是⼀个更易于构建云原⽣应⽤的动态服务发现、配置管理和服务管理平台。简单来说 Nacos 就是 注册中⼼ + 配置中⼼的组合,提供简单易⽤的特性集,帮助我们解决微服务开发必会涉及到的服务注册 与发现,服务配置,服务管理等问题。 Nacos 还是 Spring Cloud Alibaba 组件之⼀,负责服务注册与 发现 。

2.Nacos 基本使用

2.1 Nacos 部署安装

2.1.1 部署方式

Nacos 有以下三种部署方式:

  1. 单机模式:将注册中心、配置中心等功能集成在一个进程内,全部部署在一台机器上,适用于测试和单机试用。(自己学用这种就可以了)
  2. 集群模式:多个 Nacos 服务器实例组成一个集群。这些实例通过相互通信和协调工作,共同提供服务注册、配置管理和服务发现等功能。在集群模式下,所有的实例共享相同的数据,数据变更会自动同步到所有的实例中,客户端可以随机选择任意一个实例进行注册和发现服务。
  3. 多集群模式:多集群模式是为了满足在不同区域或网络中进行部署和扩展的需求。在多集群模式中,可以选择将不同的 Nacos 实例组成多个相互独立的集群,每个集群可以拥有自己独立的配置和注册中心,并可以跨集群进行服务注册和发现。多集群模式适用于分布式系统的多区域部署,并可以使用不同的网络和存储设施。每个集群具有独立的数据和配置,但可以通过自定义的同步机制在集群之间共享数据。
2.1.2 安装并启动

① 预备环境准备
Nacos 安装和运行需要依赖 JDK 环境,因此在安装之前,需要先在服务器安装 JDK 1.8+ 的环境
② 安装并启动
Nacos 有以下两种安装方式:

源码安装

  1. 编译压缩包安装(推荐)

推荐使用编译压缩包安装,操作更简单,出现问题的概率更小。编译压缩包安装流程:
下载压缩包:从 https://github.com/alibaba/nacos/releases 下载最新编译后的压缩包;

  1. 进入 Nacos 运行目录:cd nacos/bin;
  2. 启动 Nacos 服务:
    a.Linux/MacOS:sh startup.sh -m standalone 启动 Nacos 单机模式;
    b.Windows:startup.cmd -m standalone 启动 Nacos 单机模式。
    启动成功之后就可以使用:http://localhost:8084/nacos 访问 Nacos 的控制台了,如下图所示
注册的步骤:

开始修改 product 模块的代码, 将其注册到nacos服务上

在pom.xml中添加nacos的依赖

<!--nacos客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

在主类上添加@EnableDiscoveryClient注解

在application.yml中添加nacos服务的地址

启动服务, 观察nacos的控制⾯板中是否有注册上来的商品微服务


Ribbon

什么是Ribbon

它是 Netflixfa 发布的⼀个负载均衡器,有助于控制 HTTP 和 TCP客户端⾏为。在 SpringCloud 中, Nacos⼀般配合Ribbon进⾏使⽤,Ribbon提供了客户端负载均衡的功能,Ribbon利⽤从Nacos中读取到 的服务信息,在调⽤服务节点提供的服务时,会合理的进⾏负载。

在SpringCloud中可以将注册中⼼和Ribbon配合使⽤,Ribbon⾃动的从注册中⼼中获取服务提供者的列 表信息,并基于内置的负载均衡算法,请求服务。

Ribbon的主要作用

( 1)服务调用基于Ribbon实现服务调⽤, 是通过拉取到的所有服务列表组成(服务名-请求路径的)映射关系。借助 RestTemplate 最终进⾏调⽤

( 2)负载均衡 当有多个服务提供者时,Ribbon可以根据负载均衡的算法⾃动的选择需要调⽤的服务地址

由于ribbon已经封装在ancos中了,所以不用导包,直接用。

在创建RestTemplate⽅法 上添加 @LoadBalanced 注解

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猿究院-Cu-Sn合金

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

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

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

打赏作者

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

抵扣说明:

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

余额充值