上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

第四章 Spring Cloud Netflix 之 Eureka

guduadmin21天前

文章目录

  • 前言
  • 1、Eureka 两大组件
  • 2、Eureka 服务注册与发现
  • 3、案例
    • 3.1、创建主工程
      • 3.1.1、主工程pom.xml配置
      • 3.2、创建子公共模块common-api
        • 3.2.1、添加module
        • 3.2.2、pom.xml配置
        • 3.2.3、maven非springboot项目,增加main入口
        • 3.3、创建Eureka注册中心模块eureka-server
          • 3.3.1、配置pom.xml
          • 3.3.2、配置application.yml
          • 3.3.3、启动eureka-server
          • 3.3.3.1、编译eureka-server
          • 3.3.3.2、运行EurekaServerApplication.java文件
          • 3.4、创建用户服务模块user-service
            • 3.4.1、配置pom.xml
            • 3.4.2、配置application.yml
            • 3.4.3、启动user-service
            • 3.4.3.1、编译user-service
            • 3.4.3.2、运行UserApplication.java文件
            • 3.4.3.3、测试
            • 3.5、查看编译后的包

              第四章 Spring Cloud Netflix 之 Eureka,在这里插入图片描述,第1张

              前言

              Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。
              Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。

              1、Eureka 两大组件

              Eureka 采用 CS(Client/Server,客户端/服务器) 架构,它包括以下两大组件:Eureka Server、Eureka Client

              组件介绍
              Eureka ServerEureka 服务注册中心,主要用于提供服务注册功能
              Eureka ClientEureka 客户端,通常指的是微服务系统中各个微服务

              2、Eureka 服务注册与发现

              第四章 Spring Cloud Netflix 之 Eureka,第2张

              功能介绍
              服务注册中心(Register Service)它是一个 Eureka Server,用于提供服务注册和发现功能。
              服务提供者(Provider Service)它是一个 Eureka Client,用于提供服务。它将自己提供的服务注册到服务注册中心,以供服务消费者发现。
              服务消费者(Consumer Service)它是一个 Eureka Client,用于消费服务。它可以从服务注册中心获取服务列表,调用所需的服务。

              3、案例

              3.1、创建主工程

              名称:SpringCloud
              第四章 Spring Cloud Netflix 之 Eureka,第3张

              3.1.1、主工程pom.xml配置

              第四章 Spring Cloud Netflix 之 Eureka,第4张

              
              
                 4.0.0
                 pom
                 
                    org.springframework.boot
                    spring-boot-starter-parent
                    2.6.13
                     
                 
                 com.hqyj
                 drp
                 0.0.1-SNAPSHOT
                 drp-parent
                 Demo project for Spring Boot
                 
                    8
                    8
                    UTF-8
                    1.8
                    1.8
                    4.12
                    1.2.17
                    1.16.18
                 
                 
                    
                       
                          org.springframework.cloud
                          spring-cloud-dependencies
                          2021.0.5
                          pom
                          import
                       
                    
                 
                 
                      
                          
                              org.apache.maven.plugins
                              maven-compiler-plugin
                              3.5.1
                              
                                  ${maven.compiler.source}
                                  ${maven.compiler.target}
                              
                          
                      
                  
              
              

              3.2、创建子公共模块common-api

              3.2.1、添加module

              第四章 Spring Cloud Netflix 之 Eureka,第5张
              第四章 Spring Cloud Netflix 之 Eureka,第6张

              3.2.2、pom.xml配置

              
              
                  4.0.0
                  
                      com.hqyj
                      SpringCloud
                      0.0.1-SNAPSHOT
                  
                  common-api
                  
                      8
                      8
                      UTF-8
                  
                  
                      
                          org.projectlombok
                          lombok
                      
                  
              
              

              3.2.3、maven非springboot项目,增加main入口

              添加Main.java,指定main入口,防止Maven package / install打包失败

              public class Main {
                  public static void main(String[] args) {
                      System.out.println("common-api");
                  }
              }
              

              3.3、创建Eureka注册中心模块eureka-server

              第四章 Spring Cloud Netflix 之 Eureka,第7张

              3.3.1、配置pom.xml

              
              
                  4.0.0
                  
                      com.hqyj
                      SpringCloud
                      0.0.1-SNAPSHOT
                  
                  eureka-server
                  
                      8
                      8
                      UTF-8
                      true
                  
                  
                      
                          org.springframework.boot
                          spring-boot-starter-web
                      
                      
                          org.springframework.boot
                          spring-boot-starter-test
                          test
                      
                      
                          org.projectlombok
                          lombok
                          true
                      
                      
                          com.github.enesusta
                          spring-devtools
                          1.0.1
                          true
                      
                      
                          org.springframework.cloud
                          spring-cloud-starter-netflix-eureka-server
                      
                  
                  
              
              

              3.3.2、配置application.yml

              在resource目录下,新建application.yml文件
              第四章 Spring Cloud Netflix 之 Eureka,第8张
              编辑application.yml文件,添加eureka配置

              server:
                port: 7001
              eureka:
                instance:
                  hostname: localhost #eureka服务端的实例名称,
                client:
                  register-with-eureka: false #false表示不向注册中心注册自己。
                  fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
                  service-url:
                    defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #单机版服务注册中心
              

              3.3.3、启动eureka-server

              创建EurekaServerApplication.java启动文件

              import org.springframework.boot.SpringApplication;
              import org.springframework.boot.autoconfigure.SpringBootApplication;
              import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
              @SpringBootApplication
              @EnableEurekaServer
              public class EurekaServerApplication {
                  public static void main(String[] args) {
                      SpringApplication.run(EurekaServerApplication.class,args);
                  }
              }
              

              3.3.3.1、编译eureka-server

              第四章 Spring Cloud Netflix 之 Eureka,第9张
              第四章 Spring Cloud Netflix 之 Eureka,第10张

              3.3.3.2、运行EurekaServerApplication.java文件

              第四章 Spring Cloud Netflix 之 Eureka,第11张
              启动:http://localhost:7001/

              3.4、创建用户服务模块user-service

              第四章 Spring Cloud Netflix 之 Eureka,第12张

              3.4.1、配置pom.xml

              
              
                  4.0.0
                  
                      com.hqyj
                      SpringCloud
                      0.0.1-SNAPSHOT
                  
                  user-service
                  
                      8
                      8
                      UTF-8
                  
                  
                      
                          org.springframework.boot
                          spring-boot-starter-web
                      
                      
                      
                          org.springframework.boot
                          spring-boot-devtools
                          runtime
                          true
                      
                      
                      
                          org.springframework.boot
                          spring-boot-starter-test
                          test
                      
                      
                      
                          junit
                          junit
                          4.12
                      
                      
                      
                          org.springframework
                          springloaded
                          1.2.8.RELEASE
                      
                      
                          org.springframework.cloud
                          spring-cloud-starter-netflix-eureka-client
                      
                      
                          com.hqyj
                          common-api
                          0.0.1-SNAPSHOT
                      
                  
              
              

              3.4.2、配置application.yml

              server:
                port: 8001
              spring:
                application:
                  name: user-service  #微服务名称
              eureka:
                client: #将客户端注册到 eureka 服务列表内
                  service-url:
                    defaultZone: http://localhost:7001/eureka  #这个地址是 7001注册中心在 application.yml 中暴露出来额注册地址 (单机版)
              

              3.4.3、启动user-service

              创建UserApplication.java启动文件

              import org.springframework.boot.SpringApplication;
              import org.springframework.boot.autoconfigure.SpringBootApplication;
              import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
              @SpringBootApplication
              @EnableDiscoveryClient
              public class UserApplication {
                  public static void main(String[] args) {
                      SpringApplication.run(UserApplication.class,args);
                  }
              }
              

              3.4.3.1、编译user-service

              第四章 Spring Cloud Netflix 之 Eureka,第13张
              第四章 Spring Cloud Netflix 之 Eureka,第14张

              3.4.3.2、运行UserApplication.java文件

              第四章 Spring Cloud Netflix 之 Eureka,第15张

              3.4.3.3、测试

              http://localhost:8001/user/userInfoList

              3.5、查看编译后的包

              第四章 Spring Cloud Netflix 之 Eureka,第16张
              第四章 Spring Cloud Netflix 之 Eureka,第17张

              第四章 Spring Cloud Netflix 之 Eureka,在这里插入图片描述,第18张


网友评论

搜索
最新文章
热门文章
热门标签