spring cloud搭建(eureka)

news2024/11/25 10:34:13

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


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


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

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…
在这里插入图片描述

2. 删除src包

用不到这个,右键Delete即可
在这里插入图片描述

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
在这里插入图片描述
填写信息并创建
在这里插入图片描述

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
在这里插入图片描述

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

启动后控制台大概这个样子就是成功了
在这里插入图片描述

8. 查看注册中心

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

http://localhost:8001

已注册的服务实例会展示在Instances currently registered with Eureka列表下
在这里插入图片描述
以上就是spring cloud搭建中的Eureka部分


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣高频SQL50题(基础版)——第二天

力扣高频SQL50题(基础版)——第二天 1 文章浏览Ⅰ 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # Write your MySQL query statement below SELECT distinct author_id id FROM Views WHERE author_idviewer_id ORDER BY id asc1.3 运行截图 2 无…

基于MSP430送药小车 ----- 基础篇【2021年全国电赛(F题)】

文章目录 一、赛题1. 任务2. 要求3. 说明 二、构思 分析1. 引脚利用2. PID算法3. 灰度循迹及标志位4. 视觉模块5. 直角转弯、原地转向 三、硬件清单四、逻辑设计1. 近端送药2. 中端送药3. 远端送药 五、程序设计1. OpenMV2. 灰度循迹3. 装药卸药 总结 一、赛题 1. 任务 设计并…

Linux Socket 分包 和 粘包 问题 - 解决方案

分包和粘包在TCP网络编程中是非常常见的&#xff0c;分包会造成 接收端 接收的数据不全的问题&#xff0c;粘包会造成接收多余的数据的文件。 这里做一个举例&#xff0c;例如客户端A要发送字符串“helloworld”给服务器B&#xff0c;A是一次性发送&#xff0c;但TCP有可能会将…

A Unified Conditional Framework for Diffusion-based Image Restoration

A Unified Conditional Framework for Diffusion-based Image Restoration (Paper reading) Yi Zhang, CUHK, CN, arXiv2023, Cited:0, Code, Paper 1. 前言 最近&#xff0c;扩散概率模型&#xff08;Diffusion Probabilistic Models&#xff0c;DPMs&#xff09;在图像生成…

Android 自定义View 之 饼状进度条

饼状进度条 前言正文一、XML样式二、构造方法三、测量四、绘制① 绘制描边① 绘制进度 五、API方法六、使用七、源码 前言 前面写了圆环进度条&#xff0c;这次我们来写一个饼状进度条&#xff0c;首先看一下效果图&#xff1a; 正文 效果图感觉怎么样呢&#xff1f;下面我们…

GLTF/GLB模型轻量化简明教程

GLB 文件格式很方便&#xff0c;因为它包含渲染所需的所有文件&#xff0c;包括纹理。 但是&#xff0c;根据用途&#xff0c;你可能希望简化文件&#xff0c;因为它有时非常详细。 在本文中&#xff0c;我将使用 gltf-transform 来执行简化&#xff0c;并且假设你使用的是 Wi…

0x23 Read Version Information Service

0x23 Read Version Information Service ReadMemoryByAddress服务允许客户端通过提供的起始地址和要读取的内存大小向服务器请求内存数据。 ReadMemoryByAddress请求消息用于请求由参数memoryAddress和memorySize标识的服务器的内存数据。 用于memoryAddress和memorySize参数的…

SAP-MM-原始接受订单

业务场景&#xff1a; 供应商是强势供应商&#xff0c;产品紧缺&#xff0c;订购货物需要自提&#xff0c;运损也归我们公司&#xff0c;而且立刻付款&#xff0c;那么就不能按以往操作&#xff0c;等供应商送货&#xff0c;再开票 我们在付款&#xff0c;那么SAP如何快速实现…

JS 排序算法

在前端工作中算法不常用&#xff0c;但是排序可能会经常会用&#xff0c;下面学习几种常用算法。 引用借鉴&#xff1a;js的五种排序方法_js排序_木可生森的博客-CSDN博客 JS 常见的排序算法_js排序算法_东风过境F的博客-CSDN博客 1.冒泡排序&#xff1a; 思路&#xff1a;逐次…

儿童节快乐,基于CSS3绘制一个游乐场动效界面

0️⃣写在前面 让代码创造童话&#xff0c;共建快乐世界。六一儿童节——这是属于孩子们的节日&#xff0c;也是属于我们大人的节日。让我们一起「致童真」&#xff0c;用代码&#xff08;HTMLCSSJS&#xff09;创造出一个游乐场&#xff0c;让这个世界多一份快乐和惊喜&#x…

如何把vue项目部署服务器(宝塔面板)上

一&#xff0c;vue项目打包 首先我们把准备好的vue项目进行打包&#xff1a; 输入命令&#xff1a;npm run build 生成dist文件 二、进入宝塔管理界面&#xff0c;点击网站&#xff0c;然后点击添加站点 三。按下面输入 点设置 四。 输入好点添加&#xff0c;注意&#x…

【Python开发】FastAPI 04:响应模型

响应模型是指在接口调用之后&#xff0c;服务器返回给客户端的数据模型。这个数据模型可以是一个简单的字符串&#xff0c;也可以是一个复杂的数据结构&#xff0c;如 JSON 或 XML 格式的数据。本篇文章将详细介绍 FastAPI 中的响应模型。 目录 1 响应模型 1.1 response_mode…

HTML--Java EE

目录 一、认识 HTML 标签 二、HTML 文件基本结构 三、开发者工具 四、HTML常见标签 1.注释标签 2.标题标签&#xff08;h1-h6&#xff09; 3.段落标签&#xff08;p&#xff09; 4.换行标签 5.格式化标签 6.图片标签&#xff08;img&#xff09; 6.1网络路径 6.2绝…

Mysql索引慢解决

索引慢解决 explain关键字 explainSQL id执行顺序&#xff0c;id相同从上到下&#xff1b;id不同&#xff0c;如果是子查询id序号会递增&#xff0c;id值越大优先级越高&#xff1b;id相同和不同都存在时&#xff0c;id相同理解为一组&#xff0c;从上往下顺序执行&#xff0…

最优化——几种重要的凸集

引言 这是中科大最优化理论的笔记&#xff0c;中科大凌青老师的凸优化课程&#xff0c;详尽易懂&#xff0c;基础扎实。不论是初学者还是从业多年的人&#xff0c;都值得系统地好好学一遍。 本文介绍种重要的凸集:超平面与半空间、球和椭球、多面体、单纯形。 超平面与半空间…

202314读书笔记|《孩子们的诗》——简单的语言,击中每个人心中的诗意

202314读书笔记|《孩子们的诗》——简单的语言&#xff0c;击中每个人心中的诗意 《孩子们的诗》作者果麦。这本书中的诗都是孩子们写的&#xff0c;虽然他们或许并不认为自己写的是诗。每个人都想一直做一个孩子&#xff0c;好奇、天真、单纯、善良、简单&#xff0c;多美美好…

【产品应用】一体化步进电机在全自动折页机的应用

随着科技的不断发展&#xff0c;机器人技术也越来越成熟&#xff0c;智能化和自动化已经成为了现代工业的发展趋势。在这个趋势下&#xff0c;全自动折页机作为一种高效、精确的印刷设备&#xff0c;被广泛应用于各种印刷品的生产中。而一体化步进电机作为全自动折页机的关键部…

SpringBoot+Vue 前后端分离在线学习平台-在线教育平台

SpringBootVue 前后端分离在线学习平台-在线教育平台 本项目是完整的前后端分离&#xff0c;在线学习系统。【有完整部署视频教程】 创新点&#xff1a; ①基于阿里云短信平台完成手机号变更【短信验证码】 ②基于支付宝沙箱支付完成在线购买课程【在线支付】 ③基于apach-echa…

【Python】函数 ② ( 函数参数定义和使用 | 形式参数和实际参数 )

文章目录 一、函数参数定义和使用二、形式参数和实际参数 一、函数参数定义和使用 Python 函数参数 作用 : 在 Python 函数 执行时 , 可以 接受 外部 函数调用者 提供的数据 ; 在 Python 函数中 , 可以接受零个或多个参数 , 这些参数可以传递到函数中进行操作 ; 函数参数也可…

Java并发(九)----线程join、interrupt

1、join 方法详解 1.1 为什么需要 join&#xff1f; 下面的代码执行&#xff0c;打印 r 是什么&#xff1f; static int r 0; public static void main(String[] args) throws InterruptedException {test1(); } private static void test1() throws InterruptedException …