Nacos Discovery--服务治理

Nacos Discovery–服务治理

服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。
服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服
务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中
的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。
在这里插入图片描述

使用Nacos (服务治理 配置中心)

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring
Cloud Alibaba 组件之一,负责服务注册发现和服务配置,可以这样认为nacos=eureka+config。

搭建nacos环境

启动自己的nacos
在这里插入图片描述
打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos
在这里插入图片描述

将微服务注册到nacos

将需要注册的微服务提供者注册到nacos上
1.这些提供者消费者都需要引入nacos依赖

 <!--引入nacos服务注册中心依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>

2.提供者消费者微服务配置文件application.yml
在这里插入图片描述
3.启动微服务
在这里插入图片描述
然后查看nacos服务注册中心
在这里插入图片描述

服务消费者调用服务提供者

将所有微服务都配置好后

通过调用DiscoveryClient 服务发现注册的getInstances方法
在这里插入图片描述
测试结果
在这里插入图片描述

负载均衡

负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。
根据负载均衡发生位置的不同,一般分为 服务端负载均衡客户端负载均衡
服务端负载均衡指的是发生在服务提供者一方,比如常见的nginx负载均衡
而客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求。
在这里插入图片描述
我们在微服务调用关系中一般会选择 客户端负载均衡 ,也就是在服务调用的一方来决定服务由哪个提供者执行。

实现客户端负载均衡

再启动一个 shop-product 微服务,设置其端口为8082
在这里插入图片描述
在这里插入图片描述

方法一 自定义随机策略
在调用其他微服务的地方修改源码
在这里插入图片描述
重启服务
浏览器测试观察控制台,发现会随机调用不同端口号的ProductApp服务
在这里插入图片描述
方法二 基于Ribbon实现负载均衡 —组件
在这里插入图片描述
在调用其他微服务的地方修改源码
在这里插入图片描述
可以在application.yml配置文件修改策略方式

shop-product:    #服务名
  ribbon:
    NFloadBalancerRuleClassName: com.netfix.loadbalancer.RandomRule #使用随机负载均衡策略

在这里插入图片描述
重启服务即可

方法三 基于OpenFeign实现服务调用
消费者服务引入OpenFeign依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

创建一个Feign接口并加上@FeignClient注解
在这里插入图片描述
在主启动类上加入开启feign的注解
在这里插入图片描述
在调用其他微服务的地方修改源码
在这里插入图片描述
重启服务即可

使用eureka作为注册中心

Eureka是Netflix开发的服务发现框架

1.创建一个eureka服务端

在这里插入图片描述
引入eureka服务端依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <!--引入web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

书写application.yml配置文件
在这里插入图片描述

创建主启动类
在这里插入图片描述
启动服务
浏览器访问服务端
在这里插入图片描述

微服务注册eureka

引入eureka客户端依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

修改application.yml配置文件
在这里插入图片描述

启动服务
然后去Eureka服务端查看是否注册成功
在这里插入图片描述

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值