spring cloud搭建(eureka)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习新东西是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

spring cloud搭建

  • 一、spring cloud简介
  • 二、开发环境:
  • 三、创建并配置父项目spring_cloud_demo
    • 1. 创建项目
    • 2. 删除src包
    • 3. 配置父项目pom.xml
      • 3.1 父项目所需依赖
      • 3.2 父项目完整pom.xml
  • 四、创建并配置子项目eureka
    • eureka介绍
    • 1.创建子项目eureka
    • 2. 配置Eureka的pom.xml
      • 2.1 Eureka所需依赖
      • 2.2 eureka完整pom.xml
    • 3. 创建eureka包结构
    • 4. 创建Eureka的启动类
    • 5. 配置Eureka服务的yml文件
    • 6. 启动Eureka服务
    • 8. 查看注册中心


spring cloud 相关组件搭建(建议顺序):

  • eureka(注册中心服务)本篇
  • P-C service(服务提供者和服务调用者)spring cloud搭建(P-C service)
  • feign(接口调用)spring cloud搭建(feign)
  • hystrix(熔断器)spring cloud搭建(hystrix)
  • zuul(网关服务)spring cloud搭建(zuul)

一、spring cloud简介

  • springcloud是spring体系的简化版。
  • spring cloud是基于spring boot实现的管理项目的工具包。
  • spring cloud利用spring boot的开发便利性简化了分布式系统的开发。
  • springcloud微服务架构可以把一个项目拆分为多个微服务,每个微服务相对独立(包括技术选型独立、开发独立、部署独立、运维独立),但多个服务间又相互配合协调,完成整体的项目,完整服务于用户。
  • springcloud有一系列框架,如服务注册中心、配置中心、消息总线、负载均衡、断路器、数据监控等。
  • spring cloud通过spring boot来启动和部署。

二、开发环境:

JDK版本:1.8
maven版本:3.9.0
开发工具:IDEA社区版ideaIC-2018.3
项目框架:spring boot 版本为 2.7.3 springboot搭建传送门spring cloud 版本为 2021.0.5

三、创建并配置父项目spring_cloud_demo

创建一个maven项目,作为父项目,进行配置pom
具体步骤如下:

1. 创建项目

File–>New–>Project…
spring cloud搭建(eureka)_第1张图片

2. 删除src包

用不到这个,右键Delete即可
spring cloud搭建(eureka)_第2张图片

3. 配置父项目pom.xml

3.1 父项目所需依赖

    <!--spring boot版本控制-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
    </parent>
    <!--父类依赖管理-->
    <dependencyManagement>
        <dependencies>
            <!--spring cloud版本控制-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注:这里经常出现spring boot和spring cloud版本兼容问题,上面用的两个版本是兼容的,如果使用其他版本遇到兼容问题可参考这篇文章解决:
spring boot和spring cloud版本兼容问题解决

3.2 父项目完整pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cloud</groupId>
    <artifactId>spring_cloud_demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>spring_cloud_eureka</module>
    </modules>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <!--spring boot版本控制-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
    </parent>
    <!--父类依赖管理-->
    <dependencyManagement>
        <dependencies>
            <!--spring cloud版本控制-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
</project>

到此父项目就创建并配置完成


四、创建并配置子项目eureka

eureka介绍

  • eureka是一个基于REST的服务,通过它可以将服务注册以及获取服务信息,可以实现负载均衡和中间层服务故障转移的功能。
  • 与zookeeper相似,可以作为服务注册中心。
  • 服务提供者将服务注册到eureka,服务的消费者通过eureka获取服务信息后调用服务提供者。

1.创建子项目eureka

右键spring_cloud_demo父项目–New–Module
spring cloud搭建(eureka)_第3张图片
填写信息并创建
spring cloud搭建(eureka)_第4张图片

2. 配置Eureka的pom.xml

2.1 Eureka所需依赖

    <dependencies>
        <!--spring boot web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--spring cloud eureka server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

2.2 eureka完整pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring_cloud_demo</artifactId>
        <groupId>com.cloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring_cloud_eureka</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!--spring boot web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--spring cloud eureka server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

</project>

3. 创建eureka包结构

创建两个文件
在java包下创建com.eureka包,在eureka包中创建Eureka服务启动类EurekaApplication.java
在resources包下创建Eureka配置文件application.yml
spring cloud搭建(eureka)_第5张图片

4. 创建Eureka的启动类

注意,在启动类上添加@EnableEurekaServer注解开启Eureka
EurekaApplication.java

package com.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @ClassDescription: eureka启动项
 * 注解@EnableEurekaServer是用来开启注册中心服务的
 * @Author:李白
 * @Date:2023/5/30 17:08
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

5. 配置Eureka服务的yml文件

application.yml

#Tomcat
server:
  port: 8001
  
#Spring
spring:
  application:
    #这里是项目别名,当该服务被注册到注册中心后,会以此名称显示该服务
    name: Eureka_app

#Eureka
eureka:
  #客户端
  client:
    #是否将服务注册到eureka客户端,默认是打开的,可在注册中心查看已注册的服务
    register-with-eureka: false
    #是否发现注册中心的已注册的服务信息,默认是打开的,可以获取已注册到eureka中的服务的信息列表
    fetch-registry: false
    #服务地址
    service-url:
      #默认的服务地址,eureka注册中心的地址,可以访问它查看已注册的服务
      defaultZone: http://localhost:${server.port}/eureka/

6. 启动Eureka服务

启动后控制台大概这个样子就是成功了
spring cloud搭建(eureka)_第6张图片

8. 查看注册中心

根据自己配置的端口,访问以下地址即可查看注册中心

http://localhost:8001

已注册的服务实例会展示在Instances currently registered with Eureka列表下
spring cloud搭建(eureka)_第7张图片
以上就是spring cloud搭建中的Eureka部分


你可能感兴趣的:(#,springcloud,spring,cloud,eureka,java)