一、spring cloud alibaba学习(nacos,ribbon)

本文深入探讨了Spring Cloud Alibaba中的Nacos服务发现与配置管理,以及Ribbon客户端负载均衡器的使用。内容包括Nacos的领域模型(namespace、group、service、cluster和instance)、元数据的作用与设置方法,以及Ribbon的负载均衡规则、配置和细粒度控制。同时,文章详细阐述了如何基于Nacos权重和元数据实现负载均衡规则。
摘要由CSDN通过智能技术生成

对比

Nacos

服务发现组建,也是配置服务器

用来解决服务a如何找到服务b、并且管理微服务

下载应用程序,并打开,以启动Nacos Server

加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>${latest.version}</version>
</dependency>

没有注解。

写配置,制定Nacos Server的地址、服务名称

spring:
  cloud:
    nacos:
      discovery:
        #指定nacos server的地址
        server-addr: localhost:8848
  application:
    #服务名称尽量用-,不要用_及特殊字符
    name: user-center

领域模型

namespace:主要用于隔离,例如隔离开发环境,生产环境,测试环境等。不能跨namespace调用实例。

group:把不同的微服务放到一个分组里,方便管理。(alibaba0.9.0中没有用到)

service:微服务

cluster:集群,对指定微服务的虚拟划分

instance:微服务实例

 

namespace和cluster:

namespace需要在控制台上先创建好

spring:
  cloud:
    nacos:
      discovery:
        #写控制台创建好的namespace的UUID,不能写名称!!
        namespace: XXX
        #集群名称自己起
        cluster-name: xxx

元数据

Nacos的数据描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签。

从作用范围看,分为服务级别元数据、集群级别元数据、实例级别元数据。

目前spring cloud alibaba0.9.0中,服务和集群级别元数据暂时用不上。

作用:

提供描述信息。

让微服务调用更加灵活。(微服务的版本控制,例如v1client只能调用v1server之类)

如何设置?1.控制台设置2.配置文件

spring:
  cloud:
    nacos:
      discovery:
        metadata:
          #key: value的形式即可
          a: b
          haha: hehe
          version: v1

 

负载均衡

实现方式:

服务器端负载均衡:

客户端负载均衡:

Ribbon

是开源的客户端负载均衡器。

ribbon会从nacos上获取要调用的服务地址列表,通过自有算法算出一个实例,交给restTemplat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值