【SpringCloud篇】Eureka服务的基本配置和操作
作者:mmseoamin日期:2023-12-11

文章目录

  • 🌹简述Eureka
  • 🛸搭建Eureka服务
    • ⭐操作步骤
    • ⭐服务注册
    • ⭐服务发现

      【SpringCloud篇】Eureka服务的基本配置和操作,在这里插入图片描述,第1张

      🌹简述Eureka

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

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

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

      🛸搭建Eureka服务

      ⭐操作步骤

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

      首先我们先引入依赖

      
              
              
                  org.springframework.cloud
                  spring-cloud-starter-netflix-eureka-server
              
          
      

      下面我们新建一个启动类,来启动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);
          }
      }
      

      【SpringCloud篇】Eureka服务的基本配置和操作,在这里插入图片描述,第2张

      下面我们编写一个配置文件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客户端依赖

       
              
                  org.springframework.cloud
                  spring-cloud-starter-netflix-eureka-client
              
      

      我们编写一个配置文件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客户端依赖

       
              
                  org.springframework.cloud
                  spring-cloud-starter-netflix-eureka-client
              
      

      我们编写一个配置文件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
      

      注意: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服务的基本配置和操作,请添加图片描述,第3张

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

      【SpringCloud篇】Eureka服务的基本配置和操作,在这里插入图片描述,第4张