SpringCloud Eureka服务的基本配置和操作方法

 更新时间:2023年12月20日 12:18:58   作者:在下小吉.  
Eureka是Netflix开源的一个基于REST的服务治理框架,主要用于实现微服务架构中的服务注册与发现,Eureka是Netflix开源的服务发现框架,用于在分布式系统中实现服务的自动注册与发现,本文介绍SpringCloud Eureka服务的基本配置和操作方法,感兴趣的朋友一起看看吧

🌹简述Eureka

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

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

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

🛸搭建Eureka服务

⭐操作步骤

首先我们在eureka-server包中进行操作

首先我们先引入依赖

<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服务了

⭐服务注册

我们在user-service包中进行操作

在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服务注册

我们打开order-service包

在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包和user-service包的yml文件的区别就是它们的name属性
order-service是name: orderservice
user-service是name: userservice

⭐服务发现

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

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

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

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

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

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

到此这篇关于SpringCloud Eureka服务的基本配置和操作的文章就介绍到这了,更多相关SpringCloud Eureka服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot配置拦截器及实现跨域访问的方法

    Spring Boot配置拦截器及实现跨域访问的方法

    这篇文章主要介绍了Spring Boot配置拦截器及实现跨域访问的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • @ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现

    @ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现

    这篇文章主要介绍了@ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 关于@Component注解下的类无法@Autowired问题

    关于@Component注解下的类无法@Autowired问题

    这篇文章主要介绍了关于@Component注解下的类无法@Autowired问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 用Java实现连连看小游戏

    用Java实现连连看小游戏

    这篇文章主要为大家详细介绍了用Java实现连连看小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Java的布隆过滤器你了解吗

    Java的布隆过滤器你了解吗

    这篇文章主要为大家详细介绍了Java的布隆过滤器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • java使用xfire搭建webservice服务的过程详解

    java使用xfire搭建webservice服务的过程详解

    这篇文章主要介绍了java使用xfire搭建webservice服务的过程。使用xfire搭建webService的服务,可以在浏览器访问。对此感兴趣的可以了解一下
    2020-07-07
  • 深入学习java内存化和函数式协同

    深入学习java内存化和函数式协同

    这篇文章主要介绍了深入学习java内存化和函数式协同,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • quartz时间表达式Cron详解

    quartz时间表达式Cron详解

    这篇文章介绍了quartz时间表达式Cron,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Linux如何寻找Java安装路径

    Linux如何寻找Java安装路径

    这篇文章主要介绍了Linux如何寻找Java安装路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Java数据结构之堆(优先队列)的实现

    Java数据结构之堆(优先队列)的实现

    堆(优先队列)是一种典型的数据结构,其形状是一棵完全二叉树,一般用于求解topk问题。本文将利用Java语言实现堆,感兴趣的可以学习一下
    2022-05-05

最新评论