Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,主要在Spring Cloud架构中提供服务注册发现的功能。那么是不是可以尝试在本地搭一个单例Eureka服务来感受一下Spring Cloud是如何将Eureka集成进去的。

网上有很多参考资料可以轻松搜到,不过没有找到一个能从头参考到尾并且没有问题的教程。本篇学习记录因此参考了多位大佬的学习成果,希望能够后面仍有学习需要的朋友提供帮助。

首先,jdk的版本建议不要太高否则可能会遇到很多不兼容的问题,这里选择了1.8。同时Spring Cloud和Spring Boot的版本对应关系,一定也要注意,否则一样会出现版本不匹配导致的不兼容问题。

具体的版本对应关系,可以在官网进行查看,https://spring.io/projects/spring-cloud,具体内容如下图所示:

接下来上目录结构,spring-cloud-test为父工程,具体提供Eureka服务的spring-cloud-eureka-server以Module的形式添加到父工程中,如下图所示:

父工程的pom文件如下所示,这里cloud的Greenwich.RELEASE以及boot的2.1.18.RELEASE就是经过确认后可以匹配的版本:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
</dependency>
</dependencies>

提供Eureka服务的子工程pom如下所示:

<artifactId>spring-cloud-eureka-server</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>

这里需要注意,如果你的项目在后续的启动过程中,遇到了如下方截图中所示的报错,那么只需要在pom中手动添加gson的依赖即可:

完成pom的依赖添加后,开始创建启动类,需要注意的是启动类不能直接位于src/main/java目录下,否则启动时一样会报错:

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication { public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}

application.yml

server:  # 服务端口
port: 9090
spring:
application: # 应用名字,eureka 会根据它作为服务id
name: spring-cloud-eureka-server
eureka:
instance:
hostname: localhost
client:
service-url: # eureka server 的地址, 咱们单实例模式就写自己好了
defaultZone: http://localhost:9090/eureka
register-with-eureka: false # 不向eureka server 注册自己
fetch-registry: false # 不向eureka server 获取服务列表

接下来启动应用,并在浏览器中进行验证服务是否启动:

参考资料:

https://blog.csdn.net/yuanshangshenghuo/article/details/106962926

https://blog.csdn.net/jingyu333/article/details/89429679

https://blog.csdn.net/weixin_41020185/article/details/107534179

Spring Cloud Eureka 实践(一)的更多相关文章

  1. Spring Cloud Eureka 实践(二)

    接上一篇的内容,Eureka服务已经启动成功后,可以尝试开发服务的提供者与消费者,并注册到Eureka来实现服务的发现与调用. 首先,在父工程中继续创建服务提供者的Module,最新的目录结构如下图所 ...

  2. 1 Spring Cloud Eureka服务治理

    注:此随笔为读书笔记.<Spring Cloud微服务实战> 什么是微服务? 微服务是将一个原本独立的系统拆分成若干个小型服务(一般按照功能模块拆分),这些小型服务都在各自独立的进程中运行 ...

  3. 第三章 服务治理:Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能.Spri ...

  4. 【SpringCloud微服务实战学习系列】服务治理Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix微服务中的一部分,它基于NetFlix Sureka做了二次封装,主要负责完成微服务架构中的服务治理功能. 一.服务治理 ...

  5. 服务治理-> Spring Cloud Eureka

    服务治理->搭建服务注册中心 服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务 实例的自动化注册与发现. 为什么我们在微服务架构中那么需要服务治理模块呢?微服务 系统 ...

  6. 1 Spring Cloud Eureka服务治理(上)

    注:此随笔为读书笔记.<Spring Cloud微服务实战>,想学习Spring Cloud的同伴们可以去看看此书,里面对源码有详细的解读. 什么是微服务? 微服务是将一个原本独立的系统拆 ...

  7. Spring Cloud Eureka 服务注册中心(二)

    序言 Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件 它主要包括两个组件:Eureka Server 和 Eureka Client Eureka Clie ...

  8. Spring Cloud Eureka Server集群Demo级搭建

    将上篇随笔Spring Cloud Eureka服务Demo级搭建进行改造,改造成一个在本机的伪集群 1.修改hosts文件(windows10 hosts文件位置:C:\Windows\System ...

  9. spring cloud eureka高可用

    记录下自己踩的坑 spring cloud eureka的高可用网上的教程大致分为两种,一种是两两互相注册,一种是三个互相注册. 1.两两互相注册 普通服务的注册写法都是http://peer1/eu ...

随机推荐

  1. java小程序之随机任务发布器

    需求 自定义任务 随机定时 随机排序 集合输出 搭建 简单项目,所以我使用java 的maven来搭建一个控制台程序,并且使用excel来记录任务 创建任务类(sub) package com.mic ...

  2. 剑指 Offer 32 - II. 从上到下打印二叉树 II

    剑指 Offer 32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,1 ...

  3. 7年老Android收到阿里offer,跟领导提离职被怼:为年薪百万不做兄弟?

    在当今社会,钱就是衡量一个人价值的标准,如果你在一家公司,领导再怎么重用你,但是薪资待遇却很低,这样根本是很难留住人,毕竟工作就是为了赚钱,要是连工资都满足不了,谈其他根本就是扯淡. 最近在职业论坛看 ...

  4. MySQL学习03(MySQL数据管理)

    MySQL数据管理 外键 外键概念 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的相关联系.以另一个关系的外键作主关键字的表被称为主 ...

  5. BUUCTF刷题系列(1)5.25日记

    前面的题目都不太难,就直接从SQL注入开始了. 这个样子的话,明显就是注入,我们先拿出SQL语句:http://fb415201-6634-4fc3-a6bc-a67b84ea1ed2.node3.b ...

  6. Centos7上安装最新的nodejs

    下载nodejs包 安装wget yum install -y wget 下载nodejs到/usr/local/nodejs/下 https://cdn.npm.taobao.org/dist/no ...

  7. 查询liunx上磁盘占用情况

    查询挂载盘磁盘情况 df -h 查询指定目录下的文件夹内存占用情况 du -hs /*

  8. linux命令别名

    p.p1 { margin: 0; font: 20px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-c ...

  9. html,javascript,正则表达式

    正则表达式是对字符串操作的逻辑公式,用事先定好的一些特定字符组成一个"规则字符串",在用"规则字符串"对字符串进行过滤. ECMAScript 通过RegExp ...

  10. Visual Studio 2019 使用C语言创建动态链接库(Dll)并使用C语言和C#实现调用

    参考网址:https://blog.csdn.net/weixin_34976988/article/details/99625533 一.创建DLL1.建立动态链接库项目 2.创建头文件和源文件 删 ...