Eureka注册中心

Eureka注册中心

画一个大概的流程图,描述一下eureka的作用
在这里插入图片描述

Eureka的使用

1.搭建Eureka的服务 eureka-server

由于eureka也是一个服务,我们先搭建它的服务
创建一个项目,导入eureka的服务依赖
在这里插入图片描述
这里没有写版本依赖是因为,我在父集项目中,就已经规范了版本依赖
在这里插入图片描述

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

启动类上添加eureka的注解**@EnableEurekaServer**
在这里插入图片描述
编写application.yml文件

#服务端口配置
server:
  port: 8761

#服务名称
spring:
  application:
    name: eurekaserver
#eureka配置
eureka:
  client:
    eureka-service-url:  #eureka的地址信息
      defaultZone: http://127.0.0.1:8761/eureka

启动服务,浏览器打开
在这里插入图片描述

idea配置service窗口

在这里插入图片描述
在这里插入图片描述

2.Eureka 服务注册 eureka-client

1.在服务提供者中引入依赖
我们可以把userservice和orderservice服务都注册到eureka中

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

2.在userservice和orderservice的配置文件application.yml中添加注册信息
在这里插入图片描述

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  application:
    name: orderservice
eureka:
  client:
    eureka-service-url:
      defaultZone: http://127.0.0.1:8761/eureka

这里我将userservice服务模拟多实例启动,也就是多个服务,由于端口占用的问题,可以这样操作
选择userservice服务,右击鼠标,选择如下:
在这里插入图片描述
在这里插入图片描述
将服务启动成功,浏览器进行访问
在这里插入图片描述
这里也可以看到我将userservice服务启动了3台
在这里插入图片描述

3.服务拉取

我们将之前的orderservice调用userservice的服务地址修改下
并且添加一个负载均衡的策略
在这里插入图片描述
这里我们使用了RestTemplate对象,它主要就是帮助我们发送http请求
在这里插入图片描述
浏览器访问,就可以实现服务之间的远程调用,orderservice可以调到我们的userservice服务了
在这里插入图片描述

Ribbon负载均衡策略

查看源码我们就可以发现,主要是使用了IRule接口
在这里插入图片描述

1.设置全局的负载均衡

添加IRule的接口,重新定义,这里定义了随机规则,全局使用
在这里插入图片描述

2.单独给服务配置负载均衡的规则

可以在application.yml文件中进行配置

#给userservice服务配置负载均衡规则
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule  #负载均衡规则

3.Ribbon添加饥饿加载

就是当我们第一次浏览器访问时,浏览器相应比较的慢,这是因为Ribbon默认是懒加载,就是每次启动都会重新创建对象,因而导致访问速度很慢,我们这里可以配置为饥饿加载,明显可以提高访问速度。

ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients: #指定饥饿加载的服务名称
      -userservice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值