SpringCloud之Eureka

本文详细介绍了如何搭建Eureka服务注册中心,包括创建EurekaServer项目,配置并启动。接着展示了服务注册过程,为UserService创建项目,引入Eureka客户端依赖,并配置服务注册到EurekaServer。此外,还讨论了多实例部署,以及如何实现服务发现和负载均衡,通过RestTemplate进行服务调用的示例。最后,演示了负载均衡在多个UserService实例间的操作。

1、服务注册

搭建EurekaServer



1. 创建项目

2. 引入Spring-cloud-starter-netflix-eureka-server依赖

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

3.在启动类添加@EnableEurekaServer注解

4.配置application.yml

server:
  port: 10086 #eureka的端口

spring:
  application:
    name: eurekaserver  #eureka的服务名称

eureka:
  client:
    service-url: #eureka的地址信息
      defaultZone: http://localhost:10086/eureka





注册一个服务到EurekaServer

1.创建项目

2.引入spring-cloud-starter-netflix-eureka-client依赖

注意:必须引入web场景(需要Tomcat服务器)

3.配置application.yml

server:
  port: 8081 #eureka的端口
  
spring:
  application:
    name: userservice #服务名称

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka



启动项目,并访问http://localhost:10086/, 运行结果:
在这里插入图片描述


二、多实例部署

我们可以将我们的服务多次启动,模拟多实例部署(但是确保端口不冲突,需要修改端口号)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述



三、服务发现

服务拉取:根据服务的名称获取服务列表,然后再对服务列表做负载均衡

使用 RestTemplate 进行服务的远程调用以及负载均衡

编写一个小测试(只提供了相关代码) :

编写一个orderservice的服务,通过订单服务查找用户的信息

  1. userservice的业务:
    在这里插入图片描述

  2. 通过orderservice远程调用上图方法:

    • 在orderservice的启动类中注入RestTemplate

      @Bean
          public RestTemplate restTemplate(){
              return new RestTemplate();
          }
      
    • 编写业务 在这里插入图片描述

  3. 运行结果:
    在这里插入图片描述

负载均衡

当我们给userservice服务部署多个实例,就形成了一个服务列表,然后就可以对服务列表做负载均衡
  • 添加 @LoadBalanced 注解:在这里插入图片描述
  • 修改访问的url路径,用服务名称替代IP和端口号:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

下毛毛雨啦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值