it编程 > 编程语言 > Java

【SpringCloud篇】Eureka服务的基本配置和操作

46人参与 2024-07-28 Java


在这里插入图片描述

🌹简述eureka

eureka是netflix开源的一个基于rest的服务治理框架,主要用于实现微服务架构中的服务注册与发现。它由eureka服务器和eureka客户端组成,其中eureka服务器负责维护整个系统的服务实例信息,而eureka客户端则负责向eureka服务器注册自身信息,并从eureka服务器获取其他服务实例的信息。

通过eureka,服务提供者可以在其启动时向eureka服务器注册自己的网络地址和元数据信息,而服务消费者则可以从eureka服务器查询所需服务的实例列表,并基于负载均衡策略选择合适的服务实例进行调用。同时,eureka还具备监控、故障转移、自我保护等功能,能够有效地应对网络分区等异常情况,确保整个系统的稳定性和可靠性。

总的来说,eureka作为服务治理框架,为微服务架构提供了一套完善的服务注册与发现机制,帮助各个服务实例之间能够自动地找到彼此,实现服务之间的通信与协作。它是构建基于微服务架构的分布式系统的重要工具之一,被广泛应用于云计算、大数据等领域。

🛸搭建eureka服务

⭐操作步骤

首先我们先引入依赖

<dependencies>
        <!--eureka服务端-->
        <dependency>
            <groupid>org.springframework.cloud</groupid>
            <artifactid>spring-cloud-starter-netflix-eureka-server</artifactid>
        </dependency>
    </dependencies>

下面我们新建一个启动类,来启动eureka服务

package cn.itcast.eureka;

import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.cloud.netflix.eureka.server.enableeurekaserver;

@enableeurekaserver
@springbootapplication
public class eurekaapplication {
    public static void main(string[] args) {
        springapplication.run(eurekaapplication.class, args);
    }
}

在这里插入图片描述
下面我们编写一个配置文件application.yml

server:
  port: 10086 # 服务端口
spring:
  application:
    name: eurekaserver # eureka的服务名称
eureka:
  client:
    service-url:  # eureka的地址信息
      defaultzone: http://127.0.0.1:10086/eureka

这样我们就成功搭建eureka服务了

⭐服务注册

在pom文件中引入eureka客户端依赖

 <!--eureka客户端依赖-->
        <dependency>
            <groupid>org.springframework.cloud</groupid>
            <artifactid>spring-cloud-starter-netflix-eureka-client</artifactid>
        </dependency>

我们编写一个配置文件application.yml,配置eureka地址

server:
  port: 8081
  spring:
    datasource:
      url: jdbc:mysql://mysql:3306/cloud_user?usessl=false
      username: root
      password: 123
      driver-class-name: com.mysql.jdbc.driver
    application:
      name: userservice
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: mm-dd hh:mm:ss:sss
eureka:
  client:
    service-url:  # eureka的地址信息
      defaultzone: http://127.0.0.1:10086/eureka

下面我们在order-service中进行eureka服务注册

在pom文件中引入eureka客户端依赖

 <!--eureka客户端依赖-->
        <dependency>
            <groupid>org.springframework.cloud</groupid>
            <artifactid>spring-cloud-starter-netflix-eureka-client</artifactid>
        </dependency>

我们编写一个配置文件application.yml,配置eureka地址

server:
  port: 8081
  spring:
    datasource:
      url: jdbc:mysql://mysql:3306/cloud_user?usessl=false
      username: root
      password: 123
      driver-class-name: com.mysql.jdbc.driver
    application:
      name: orderservice
mybatis:
  type-aliases-package: cn.itcast.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: mm-dd hh:mm:ss:sss
eureka:
  client:
    service-url:  # eureka的地址信息
      defaultzone: http://127.0.0.1:10086/eureka

⭐服务发现

eureka是netflix开源的服务发现框架,用于在分布式系统中实现服务的自动注册与发现。它采用了客户端-服务器的架构模式,由一个或多个eureka服务器和多个eureka客户端组成。

服务提供者在启动时向eureka服务器注册自己的信息,包括服务名称、网络地址等。eureka服务器维护一个服务注册表,记录了所有已注册的服务信息。同时,服务提供者还会周期性地发送心跳信号给eureka服务器,以确保自己的存活状态。

服务消费者在需要调用某个服务时,首先向eureka服务器查询该服务的信息。eureka服务器返回可用的服务实例列表给消费者,消费者可以根据自己的负载均衡策略选择其中一个实例进行调用。同时,消费者也会缓存服务实例信息,以减少对eureka服务器的频繁查询。

当有服务提供者发生变动(例如启动、关闭、网络故障等)时,eureka客户端会及时更新本地缓存的服务注册表。消费者通过定时任务或监听机制,可以感知到服务实例的变化,并及时做出相应的调整。

总的来说,eureka通过服务注册与发现的机制,帮助分布式系统中的各个服务实例能够自动地找到彼此,实现服务之间的通信与协作。它具有简单、可靠、高可用等特点,被广泛应用于微服务架构中。

请添加图片描述

在这里插入图片描述

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

SpringCloud中的Eureka的集群配置

07-28

【微服务开篇-RestTemplate服务调用、Eureka注册中心、Nacos注册中心】

07-28

Eureka上集成Spring Cloud 微服务网关 gateway

07-28

【微服务】第37节:微服务的注册中心Eureka

07-28

【微服务】SpringCloud-eureka光速入门

07-28

Docker容器及镜像打包操作指南

07-28

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论